パスワードを忘れた? アカウント作成

こちらは、yasuokaさんのユーザページですよ。 みんなの日記の更新状況はTwitterの@sradjp_journalsでもチェックできます。

14004202 journal
中国

yasuokaの日記: 「令和」の文切り・形態素解析エンジンとしての甲言Jiayan

日記 by yasuoka

ネットサーフィンしていたところ、甲言Jiayanという古典中国語(漢文)解析ツールを見つけた。白文の単語切り・品詞付与・文切りが可能らしい。ただ、インストールがちょっと手間だったりする。まずは、Google Driveからjiayan_model.zipという言語モデルをダウンロードしつつ

% pip3 install https://github.com/kpu/kenlm/archive/master.zip
% pip3 install jiayan

で、python3モジュールをインストールする。その後、jiayan_model.zipのダウンロードが終わったら

14000184 journal
日記

yasuokaの日記: Z80における2進→BCD変換 1

日記 by yasuoka

ネットサーフィンしていたところ、私(安岡孝一)の8月3日の日記の読者が、Z80で2進→BCD変換に挑戦しているのを見つけた。Bレジスタに0~99の整数が入っている時に、10で除算した商をAレジスタの上位4ビットに、余りをAレジスタの下位4ビットに返す、という問題である。私個人の直感としては、DAAを駆使する方が、読みやすくて速い気がする。

13999644 journal
日本

yasuokaの日記: 戸籍統一文字370600はU+2713Cではないのか 1

日記 by yasuoka

戸籍統一文字をざっと見ていたところ、

13998656 journal
人工知能

yasuokaの日記: 「うなぎを浜松に食べに行く」は係り受け解析できるのか

日記 by yasuoka

私(安岡孝一)の6月22日の日記の読者から、「うなぎを浜松に食べに行く」は係り受け解析できるのか、という質問をいただいた。Catena Inseparability付きのUniversal Dependenciesで示すと、以下の通り。

13993543 comment

yasuokaのコメント: nagisa.fitのパラメータ (スコア 1) 2

dim_tagembdecayというパラメータを教えていただいたので、とりあえず試してみました。

>>> import nagisa
>>> nagisa.fit(train_file="lzh_kyoto-ud-train.txt",dev_file="lzh_kyoto-ud-dev.txt",test_file="lzh_kyoto-ud-test.txt",dict_file="lzh_udkanbun-dict.txt",model_name="lzh_kyoto-nagisa",dim_tagemb=32,decay=3)

Epoch    LR    Loss    Time_m    DevWS_f1    DevPOS_f1    TestWS_f1    TestPOS_f1
1    0.100    4.944    0.378    97.43        85.24        97.93        86.73
2    0.100    2.251    0.379    97.78        87.54        98.78        88.99
3    0.100    1.890    0.341    97.37        87.90        98.78        88.99
4    0.100    1.693    0.379    97.79        88.44        98.50        89.09
5    0.100    1.544    0.379    97.85        88.09        98.76        89.75
6    0.100    1.464    0.341    96.63        87.72        98.76        89.75
7    0.100    1.367    0.377    97.87        88.94        98.56        90.07
8    0.100    1.309    0.342    97.64        89.27        98.56        90.07
9    0.100    1.271    0.343    97.81        88.81        98.56        90.07
10    0.050    1.187    0.342    97.79        88.99        98.56        90.07
>>> lzh=nagisa.Tagger(vocabs="lzh_kyoto-nagisa.vocabs",params="lzh_kyoto-nagisa.params",hp="lzh_kyoto-nagisa.hp").tagging
>>> s=lzh("有兄子曰甫")
>>> print(s)
有/v,動詞,存在,存在 兄子/n,名詞,人,名 曰/v,動詞,行為,伝達 甫/p,接尾辞,*,*

F1値は90.07に改善されてるのですけど、「有兄子曰甫」については、むしろ悪化してしまいました。うーん、どこかミスったのかな…。

13993198 comment

yasuokaのコメント: udkanbunのMeCab辞書 (スコア 1) 2

udkanbunのMeCab辞書をdict_fileに追加してみたところ、F1値が88.05になって、解析結果が改善されました。

% pip3 install udkanbun
% awk -F, '{printf("%s\t%s,%s,%s,%s\n",$1,$5,$6,$7,$8)}' $HOME/.local/lib/python3*/site-packages/udkanbun/mecab-kanbun/*.csv > lzh_udkanbun-dict.txt
% python3
>>> import nagisa
>>> nagisa.fit(train_file="lzh_kyoto-ud-train.txt",dev_file="lzh_kyoto-ud-dev.txt",test_file="lzh_kyoto-ud-test.txt",dict_file="lzh_udkanbun-dict.txt",model_name="lzh_kyoto-nagisa")

Epoch    LR    Loss    Time_m    DevWS_f1    DevPOS_f1    TestWS_f1    TestPOS_f1
1    0.100    5.756    0.369    97.76        84.43        98.22        85.19
2    0.100    2.685    0.369    97.80        87.57        98.47        88.05
3    0.050    2.213    0.335    97.72        87.64        98.47        88.05
4    0.025    1.720    0.333    97.42        88.30        98.47        88.05
5    0.012    1.441    0.334    97.68        88.64        98.47        88.05
6    0.006    1.312    0.335    97.66        88.85        98.47        88.05
7    0.003    1.242    0.336    97.72        88.90        98.47        88.05
8    0.001    1.226    0.334    97.69        88.89        98.47        88.05
9    0.000    1.187    0.334    97.75        89.02        98.47        88.05
10    0.000    1.177    0.337    97.75        89.07        98.47        88.05
>>> lzh=nagisa.Tagger(vocabs="lzh_kyoto-nagisa.vocabs",params="lzh_kyoto-nagisa.params",hp="lzh_kyoto-nagisa.hp").tagging
>>> s=lzh("有兄子曰甫")
>>> print(s)
有/v,動詞,存在,存在 兄/n,名詞,人,関係 子/n,名詞,人,人 曰/v,動詞,行為,伝達 甫/n,名詞,人,名

でも、学習がうまくいってないのか、Epoch 2以降でF1値が変化してないのです。うーむ。

13992969 journal
人工知能

yasuokaの日記: 日本語形態素解析エンジンnagisaは古典中国語(漢文)を学習できるのか 2

日記 by yasuoka

ネットサーフィンしていたところ、nagisaという日本語形態素解析エンジンを見つけた。端的には、python3のdynetで、日本語の単語切りと品詞付与をおこなうエンジンなのだが、自前でUniversal Dependenciesから機械学習する方法も示されている。だとすると、UD_Classical_Chinese-Kyotoから古典中国語(漢文)を学習する、というのもアリなのではないかと思い、ちょっと試してみることにした。

13992558 journal
人工知能

yasuokaの日記: spaCyと現代書き言葉UniDicで読む『吾輩は猫である』

日記 by yasuoka

一昨昨日にリリースした unidic2udを改造して、spaCyの言語モジュールとして使えるようにしたところ、かなり高速化できてしまった。インストール方法は、以下の通り。

% pip3 install 'unidic2ud>=1.0.1'
% pip3 install 'spacy>=2.1.0'

13991083 journal
人工知能

yasuokaの日記: unidic2udと現代書き言葉UniDicで読む『吾輩は猫である』

日記 by yasuoka

昨日リリースした unidic2udの力量を見るべく、現代書き言葉UniDicとjapanese-gsdで『吾輩は猫である』を読んでみた。まずは、unidic2udのインストールと、辞書のダウンロード。

% pip3 install unidic2ud
% python3 -m unidic2ud download.unidic gendai
% python3 -m unidic2ud download.udpipe japanese-gsd

13990281 journal
人工知能

yasuokaの日記: 現代・古典日本語の形態素解析・係り受け解析のためのunidic2ud

日記 by yasuoka

私(安岡孝一)の8月21日の日記で公開したudkanbunを改造して、UniDicのMeCab辞書と、UDPipeのjapanese-gsdモデルが読めるようにした。これをさらにChamame2UD.pyと機能統合して、手元に辞書がある場合はローカルで高速に、ない場合はWeb APIを叩くこ

typodupeerror

長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds

読み込み中...