Skip to content

jser/dataset

Repository files navigation

DataSet Actions Status: test

JSer.infoのデータセットをまとめたmonorepoです。

JSer.infoで収集しているデータや記事を書くために利用している統計ライブラリなどが公開されています。

データの種類

それぞれのデータはCreative Commons — Attribution 4.0 International — CC BY 4.0の元で利用できます。

  • Item: 紹介するサイトのこと
    • 1 Item = 1 サイト
    • すべてのデータのoriginとなるものです
    • サイトごとにタイトル、URL、登録した日付、タグなどが含まれています
    • API: https://jser.info/source-data/items.json
  • Post: JSer.infoに投稿される記事のこと
    • 1 Post = 1 記事
    • それぞれの記事のタイトル、URL、タグ、日付などが含まれます
    • @jser/statを使うことでItemとPostを元に指定したサイトが紹介された記事を検索できます
    • API: https://jser.info/posts.json
  • Post Item: JSer.infoに投稿された記事中のItem(サイト)のこと
    • 1 Post Item = 1 サイト
    • 基本的にはItemと同じだが、Post ItemはPost(記事)におけるカテゴリ(ヘッドラインなど)が含まれます
    • カテゴリの種類は @jser/post-parser を参照してください
    • Itemを元に投稿時に編集している場合などもあるため、ItemとPost Itemは必ずしも一致するわけではありません
    • 制限: カテゴリ区別が付けられたのは2014-08-03からであるため、それ以前のデータは含まれない
    • Postにはすべての記事は含まれるがPost Itemのデータは含まれていない
    • API: https://jser.info/public/data/post-details.json

データは個別だと扱いにくい場合などがあります。 また、時期によって特定のプロパティが欠損してる場合もあるため、後述する分析ライブラリなどのHigh LevelなAPIを利用することを推奨します。

@jser/data-fetcherでデータとして取得し、@jser/statなどの分析ライブラリに与えて利用するとある程度正規化されます。

統計データの閲覧やCSVデータの取得ならJSer.info Data Dashboardも利用できます。

Fetcher

@jser/data-fetcher を使うことでデータを取得できます。

import { fetchItems, fetchPostDetails, fetchPosts } from "@jser/data-fetcher";
// Item
// https://github.com/jser/source-data
await fetchItems();
// Post
// https://github.com/jser/jser.github.io/blob/develop/posts.json
await fetchPosts();
// Post Details include Post Item
// https://github.com/jser/jser.github.io/blob/develop/_tools/generate-post-details-json.js
await fetchPostDetails();

分析ライブラリ

JSer.infoの学習データを使い、渡した文字列がJSer.infoではどのカテゴリに分類されるかを推論します。 JSer.infoで記事を投稿する際のカテゴリ分類に利用しています。

JSer.infoのデータを使った統計の前処理ライブラリです。 ItemとPostのデータを正規化し、指定した日付のItemの取得、Postの取得、関連する記事の検索などが行えます。

JSer.infoでは次のような場所で利用しています。

Changelog

See Releases page.

Running tests

yarn
yarn bootstrap
yarn test

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

Code

MIT © azu

Dataset

CC-BY CC-BY