計算機科学のブログ

漢字熟語のみの2-gramのデータ

気になったのでk-codeの作成時のデータで調べてみた。

使用したデータはこちら

以下結果とそれを取得するためのコード。2-gramの上位100まで。もっと知りたいという人はX等で何かしら連絡をもらえれば。

コード

two_gram_only_kanji.py

#!/usr/bin/env python3
import itertools
import pickle

import main

with open('jawikigram.pickle', 'rb') as f:
    gram = pickle.load(f)
cs = set()
for c, _, _, _ in main.one:
    cs.add(c)
for c, _, _, _ in main.two:
    cs.add(c)

prod = itertools.product(cs, repeat=2)
two_gram = {}
for c1, c2 in prod:
    if c1 < '\u4E00' or c1 > '\u9FFF' or c2 < '\u4E00' or c2 > '\u9FFF':
        continue
    cc = c1 + c2
    two_gram.setdefault(cc, 0)
    two_gram[cc] = gram.get(cc, 0)

two_gram = dict(
    sorted(
        ((k, v) for k, v in two_gram.items()), key=lambda x: x[1], reverse=True
    )
)
for i, cc in enumerate(two_gram, start=1):
    print(f'{i:3} {cc}')
    if i == 100:
        break

入出力結果(Terminal, Zsh)

% ./two_gram_only_kanji.py
  1 日本
  2 大学
  3 時代
  4 現在
  5 作品
  6 場合
  7 使用
  8 活動
  9 会社
 10 当時
 11 同年
 12 代表
 13 発表
 14 以下
 15 出身
 16 開発
 17 年代
 18 出場
 19 平成
 20 関係
 21 大会
 22 時間
 23 一部
 24 中心
 25 利用
 26 事業
 27 人物
 28 以上
 29 社会
 30 中国
 31 問題
 32 必要
 33 文化
 34 地方
 35 計画
 36 設置
 37 自身
 38 一方
 39 高等
 40 設立
 41 最初
 42 情報
 43 女性
 44 年間
 45 機関
 46 中学
 47 制作
 48 当初
 49 学部
 50 人口
 51 同様
 52 自動
 53 意味
 54 部分
 55 小学
 56 公開
 57 自分
 58 決定
 59 以外
 60 学者
 61 発生
 62 同時
 63 場所
 64 本作
 65 最後
 66 等学
 67 年度
 68 全国
 69 第一
 70 第二
 71 員会
 72 目的
 73 国内
 74 機能
 75 生活
 76 生産
 77 最高
 78 最大
 79 動車
 80 発見
 81 時点
 82 女子
 83 重要
 84 教会
 85 特別
 86 時期
 87 設計
 88 学生
 89 文学
 90 指定
 91 初期
 92 彼女
 93 関連
 94 名前
 95 以前
 96 事務
 97 人間
 98 基本
 99 設定
100 連合
%