質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Q&A

解決済

1回答

1566閲覧

tar.gzファイルの一部を学習用に取り出したい。

ChN

総合スコア10

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

0グッド

0クリップ

投稿2021/10/04 08:54

http://captions.stair.center/download/
こちらのデータセットの日本語解析を行いたいのですが、日本語の部分のデータを取り出すことができません。

データセットの内容

annotation{
"id" : int,
"image_id" : int,
"caption" : str,
"tokenized_caption": str,
}

##やったこと
こちらのデータセットを手元でダウンロードし、手元で展開
stair_captions_v1.2_train_tokenized.json
stair_captions_v1.2_train.json
stair_captions_v1.2_val_tokenized.json
stair_captions_v1.2_val.json

##環境
colabまたはjupyterでこの後解析を行いたいと思っています。

コメント

機械学習のデータセットで、一部だけ読み込むような動作と同じだとは思うのですが、あまりうまい記事を調べることができませんでした。初歩的な内容かと思いますが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

求められているものが何なのかが良くわかりませんが、以下のようなことをすれば中身は取り出せます。

python

1>>> import tarfile 2>>> tar = tarfile.open(name='stair_captions_v1.2.tar.gz', mode='r') 3>>> infos = tar.getmembers() 4>>> print(infos[1].name) 5stair_captions_v1.2_train_tokenized.json 6>>> with tar.extractfile(infos[1]) as f: 7... txt = f.read().decode() 8... 9>>> print(txt[41122000:41123000]) 10電話 で 話 を し て いる", "id": 291776, "caption": "黒い髪の女性が、携帯電話で話をしている"}, {"image_id": 335824, "tokenized_caption": "4 人 の 男性 が 、 スキー で 滑っ て いる", "id": 291781, "caption": "4人の男性が、スキーで滑ってい る"}, {"image_id": 16169, "tokenized_caption": "トレンチコート を 着 た 男性 が 凧 を 抱え て いる", "id": 291782, "caption": "トレンチコートを着た男性が凧を抱えている"}, {"image_id": 297919, "tokenized_caption": "青 の 水着 を 着 た 男性 が セイ リング を し て いる", "id": 291783, "caption": "青の水着を着た男性がセイリングをしている"}, {"image_id": 149117, "tokenized_caption": "像 が ピンク色 の おもちゃ で 遊ん で いる", "id": 291788, "caption": "像がピンク色のおもちゃで遊んでいる"}, {"image_id": 291827, "tokenized_caption": "白い サーフ ボード を 持っ た 男性 が 浅瀬 に 立っ て いる", "id": 291790, "caption": "白いサーフボードを持った男性が浅瀬に立っている"}, {"image_id": 186247, "tokenized_caption": "サンドイッチ に つま ようじ が 1 本 刺さっ て いる", "id": 291793, "caption": "サンドイッチにつまようじが1本刺さっている"}, {"image_id": 35423, "tokenized_caption": "パソコン の 上 の 棚 に モデム が 4 つ 置い て ある", "id": 291794, "caption": "パソコンの上の棚にモデムが4つ置いてある"}, {"image_id": 222964, "tokenized_caption": "ソファー の 上 に パ

投稿2021/10/04 10:11

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ChN

2021/10/06 00:20

ありがとうございます。 やりたいこととしては、..."caption": "黒い髪の女性が、携帯電話で話をしている"..のうち、 「黒い髪の女性が、携帯電話で話をしている」の部分を取り出すことです。 上記を参考に、jsonの部分をstrでtxtとして取り出すことはできたので、 txtを正規表現にかけているのですが、 ``` pattern = r'(?<=\"caption\": \")[^\"]*(?=<\")' res = re.match(pattern, txt) ``` と実行をすると値がNoneになってしまう、という状態です。
ChN

2021/10/06 01:46

読み込みはできたので、ベストアンサーとさせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問