2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

素人の言語処理100本ノック:93

Last updated at Posted at 2017-04-17

言語処理100本ノック 2015の挑戦記録です。環境はUbuntu 16.04 LTS + Python 3.5.2 :: Anaconda 4.1.1 (64-bit)です。過去のノックの一覧はこちらからどうぞ。

第10章: ベクトル空間法 (II)

第10章では,前章に引き続き単語ベクトルの学習に取り組む.

###93. アナロジータスクの正解率の計算

92で作ったデータを用い,各モデルのアナロジータスクの正解率を求めよ.

####出来上がったコード:

main.py
# coding: utf-8
fname_input = 'family_out.txt'

with open(fname_input, 'rt') as data_file:

	# 1行ずつチェック
	correct = 0
	total = 0

	for line in data_file:
		cols = line.split(' ')
		total += 1
		if cols[3] == cols[4]:
			correct += 1

# 正解率表示
print('{} ({}/{})'.format(correct / total, correct, total))

####実行結果:

#####問題85の単語ベクトルに対する結果

問題85の単語ベクトルに対する結果
0.03359683794466403 (17/506)

#####問題90の単語ベクトルに対する結果

問題90の単語ベクトルに対する結果
0.09090909090909091 (46/506)

###アナロジータスクの正解率

やはりword2vecの方が優秀ですね。2倍以上の正解率です。ただword2vecでも9%なので、かなり低い感じです。単語ベクトルにない単語を不正解扱いしているのは、ちょっと厳しすぎたのかも。あと、使っているコーパスは1/100サンプリングのものなので、1/10サンプリングにするともう少し精度が上がるのかもしれませんね。

 
94本目のノックは以上です。誤りなどありましたら、ご指摘いただけますと幸いです。


実行結果には、100本ノックで用いるコーパス・データで配布されているデータの一部が含まれます。この第10章で用いているコーパス・データのライセンスはクリエイティブ・コモンズ 表示-継承 3.0 非移植日本語訳)です。また、単語アナロジーの評価データはApache License 2.0で配布されているword2vecの一部です。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?