https://github.com/mya-mya/novel2vecweb
Word2Vec の小説バージョン
https://github.com/mya-mya/novel2vecweb
bootstrap bootstrap5 embedding-models html jinja2 python word2vec
Last synced: about 1 month ago
JSON representation
Word2Vec の小説バージョン
- Host: GitHub
- URL: https://github.com/mya-mya/novel2vecweb
- Owner: Mya-Mya
- Created: 2021-08-17T04:35:31.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-18T07:20:09.000Z (almost 5 years ago)
- Last Synced: 2025-03-18T15:19:44.585Z (about 1 year ago)
- Topics: bootstrap, bootstrap5, embedding-models, html, jinja2, python, word2vec
- Language: Python
- Homepage:
- Size: 3.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 使い方
1. [足す小説]と[引く小説]それぞれに小説の題名を記入する。
* 片方の欄が空白のままでも大丈夫。
* 複数ある場合は、全角または半角スペースで区切る。
2. [計算]ボタンを押す。
3. 1.での計算の結果に似ている順に小説が表示される。
* 表右側に表示される数値は**類似度**。
#### 例
* 足す小説 : `こころ 銀河鉄道の夜`
* 引く小説 : `星の王子さま`
こう書くと、『こころ』+『銀河鉄道の夜』-『星の王子さま』という **小説の計算** が行われる。
#### 活用例
* 好きな小説を5冊挙げ、全て[足す小説]に書く。→次に読むべき1冊が見つかるかも??
# Novel2Vecについて
#### Novel2Vecとは、小説とそのベクトル表現を対応付けるモデルである
ベクトルは各種演算ができるため、このモデルによって
* 小説を足し算、引き算する
* 任意のベクトルと方向が似ている小説を求める
ことができる。また、ベクトルには方向があるため、この方向が何かしらの**意味**を示していると考えられている。
何かをベクトル表現するというアイデアは**単語**にもある(Word2Vecという)。こちらは
* `王`-`男`+`女`=`女王`
* `お兄さん`-`おじさん`=`優しい`
などの計算ができることが知られている[2]。
#### Novel2Vecが作られるまで
Novel2Vecでは、Word2Vecのアイデアを小説に流用している。実際、Novel2VecはWord2Vecのモデルを作成するライブラリ`gensim.models.Word2Vec`を使用して作成されている。
Word2Vecは、文章を機械に沢山読ませることで作られた。
これにならい、Novel2Vecは、2018~2020/10/25にTwitter上に投稿された[1]`#名刺代わりの小説10選`というハッシュタグを持つツイート約8,000件(https://github.com/GINK03/novel_recommend/blob/master/var/shosetsu_dataset.csv) から小説の題名を抽出し、それらを機械に読ませて作った。
#### 現行のNovel2Vecモデルの詳細
* 学習アルゴリズム : `Skip-gram`
* Gensimバージョン : `4`
* ベクトル次元数 : `100`
#### 参考
1. GINK03 .(2020). novel recommended. https://gink03.github.io/novel_recommend/. 2021/08/17アクセス
2. パソコン工房NEXMAG. (2018). Word2Vecで「おじさん」と「お兄さん」を比較してみた. https://www.pc-koubou.jp/magazine/9905. 2021/08/17アクセス
# 注意
* 入力欄には個人情報を書き込まないこと。
* 小説の引き算という計算が何を意味しているのか、Mya-Myaはよく分かっていない。
* 小説の題名を抽出する処理において、小説の題名ではないノイズデータがいくつか混ざってしまった。このため、計算結果に小説の題名ではない文字列が表示されることがある。