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

最新から新しい日記やタレこみを確認できますよ。

13771836 journal
中国

yasuokaの日記: GoogleのBERTの元データは本当にWikipediaなのか

日記 by yasuoka

11月12日の日記に書いた「しにはとんとんワークケートを」が、どうにもこうにも気になったので、少し探してみた。端的にはBERTのChineseモデルのvocab.txtにある、以下の7行だ。

せからこ
してくたさい♪この
しにはとんとんワークケートを
するとあなたにもっとマッチした
ならワークケートへ
もみつかっちゃうかも
ワークケートの

13767903 journal
Google

yasuokaの日記: Re: GoogleのBERTは漢文に返り点を打つことができるのか 1

日記 by yasuoka

私(安岡孝一)の一昨日昨日の日記の読者から、このツイートをお教えいただいた。ちょうど手元に工藤拓『形態素解析の理論と実装』(近代科学社、2018年9月)が届いて、ざっと読み始めたところだったのだけど、そっちはとりあえずおいといて、私個人としては、BERTの事前

13767059 journal
日記

yasuokaの日記: 漢文に返り点を打つタスク

日記 by yasuoka

昨日の日記で「漢文に返り点を打つタスク」と書いたところ、返り点にも流派のようなものがあるのではないか、という趣旨の御意見をいただいた。まあ、それもあって、今回、私(安岡孝一)の『漢文の依存文法解析と返り点の関係について』(日本漢字学会第一回研究大会(2018年12月1日)発表予定)では、『漢文大系』(冨山房、1909~1916年)の「孟子定本」とだけ対照している。卷一のアタマを見てみよう。

13766537 journal
Google

yasuokaの日記: GoogleのBERTは漢文に返り点を打つことができるのか

日記 by yasuoka

『漢文の依存文法解析と返り点の関係について』(日本漢字学会第一回研究大会(2018年12月1日)発表予定)の発表準備をしていたところ、返り点程度ならGoogleのBERTを使えば打てるのではないか、という趣旨の御意見をいただいた。まあ、打てるかもしれないな、と思って、ここ5日間ほど

13750689 journal
地球

yasuokaの日記: 古典中国語Universal Dependenciesにおける「S不X而Y」という構文 1

日記 by yasuoka

Universal Dependenciesで「孟子定本」を記述すべく頑張っていたところ、ふっと「S不X而Y」という形の構文が気になった。この構文は、「不」がXとYの両方を否定しているのか、あるいはXだけを否定しているかが、曖昧である。実際、「孔子不得中道而與之」では「得中道而與之」を否定していると考えられるが、「叟不遠千里而來」では「遠千里」しか否定していないようだ。

13743864 journal
日記

yasuokaの日記: Z80におけるPaethの回転行列 1

日記 by yasuoka

一昨日昨日の日記を読み返しながら、イキオイ余ってPaethの回転行列を、Z80で汎用的に実装してしまった。IXレジスタにx座標の256倍を、IYレジスタにy座標の256倍を、HLレジスタに-tan(θ/2)の16384倍を、DEレジスタにsinθの16384倍を、それぞれ符号付整数で入れて呼び出すと、θだけ回転(ただし-2π/3≦θ≦2π/3)した結果がIX,IYレジスタに返ってくる。

13743433 journal
日記

yasuokaの日記: Z80における2π/48の回転行列 2

日記 by yasuoka

昨日の日記を読み返しながら、そう言えば当時の私(安岡孝一)は、2π/48の回転行列をZ80で作りたかったが断念した、ということを思い出した。とっくの昔にあきらめた夢のはずだが、今の私ならどうするだろう。

sin(2π/48)を2進数表記すると0.00100001011010100010…、tan(π/48)を2進数表記すると0.00010000110001110111…、どちらもスジの良くないビットパターンなのだが、とりあえずsin(2π/48)≒67/512, tan(π/48)≒67/1024あたりで、Paethの回転アルゴリズムを使ってみよう。

13742732 journal
日記

yasuokaの日記: Z80における「手抜き」回転行列のさらなる改良 2

日記 by yasuoka

昨日の日記の読者から、Alan W. Paethの「A Fast Algorithm for General Raster Rotation」(Proceedings Graphics Interface '86 / Vision Interface '86 (May 1986), pp.77-81)という論文をお教えいただいた。以下の3つの三角行列の積で回転行列をシミュレートする、という優れモノで、かなり速い上に誤差が小さい。

 ┌ 1 a ┐┌ 1 0 ┐┌ 1 a ┐ _ ┌ cosθ -sinθ ┐
 └ 0 1 ┘└ b 1 ┘└ 0 1 ┘  ̄ └ sinθ  cosθ ┘

13742466 comment

yasuokaのコメント: Z80における「手抜き」回転行列の改良の計算誤差 (スコア 1) 9

by yasuoka (#3496635) ネタ元: Z80における「手抜き」回転行列の改良

以下のプログラムを作ってみて、IX=6400H,IY=0000Hから回したところ、434回よびだしたところでIX=BF73H,IY=B251Hとなって、誤差が1%を超えました。sinθ≒1/8が190回だったので、まあまあ良くなってるんですけど、分数部8ビットだと「もう一声」かなぁ…。

DD E5 PUSH IX
FD E5 PUSH IY
06 02   LD B,2
E1     POP HL
7C      LD A,H
2F     CPL
5F      LD E,A
CB 2B  SRA E
07    RLCA
4F      LD C,A
9F     SBC A,A
57      LD D,A
19     ADD HL,DE
59      LD E,C
78      LD A,B
06 03   LD B,3
CB 2C  SRA H
CB 1D   RR L
10 FA DJNZ -4
D9     EXX
47      LD B,A
10 E7 DJNZ -23
FD 19  ADD IY,DE
E5    PUSH HL
D9     EXX
EB      EX DE,HL
FD 19  ADD IY,DE
D1     POP DE
B7      OR A
ED 52  SBC HL,DE
EB      EX DE,HL
DD 19  ADD IX,DE
C9     RET

13741419 comment

yasuokaのコメント: Re:sinθ=1/128 はどうでしょうか? (スコア 1) 9

by yasuoka (#3495867) ネタ元: Z80における「手抜き」回転行列の改良

えっと、イマイチ良くわからないのですけど、32767/32768って、16ビットじゃほとんど計算できない気がするのです。すみません、整数部と分数部に何ビットずつ使う実装を想定してるんでしょうか?

13741399 comment

yasuokaのコメント: Re:sinθ=1/16とすると (スコア 1) 9

by yasuoka (#3495849) ネタ元: Z80における「手抜き」回転行列の改良

k=9の場合ですね。これ、4ビットシフトを無理矢理

7C         LD A,H
07       RLCA
9F        SBC A,A
E5       PUSH HL
21 01 00   LD HL,1
39        ADD HL,SP
ED 67     RRD
2B        DEC HL
ED 67     RRD
E1        POP HL

でやってみようとしたり、結構たのしく考えたんですけど、ちょっと回転量が小さすぎて、結局k=7の方を採用した覚えがあるのです。

13741312 journal
日記

yasuokaの日記: Z80における「手抜き」回転行列の改良 9

日記 by yasuoka

一昨日昨日の日記を読み返していて、これ、今の私(安岡孝一)だったら、sinθ≒1/8じゃなくて、sinθ≒511/4096にしちゃうんだろうな、と思えてきた。その方がcosθ=127/128に近いからだ。

 ┌ cosθ -sinθ ┐  ┌ x ┐
 └ sinθ  cosθ ┘  └ y ┘

ただ、sinθ≒1/8に比べると、sinθ≒511/4096はインパクトが弱いし、何よりプログラムが長くなる。HLレジスタのHレジスタに符号付整数、Lレジスタに256を分母とする分数が入っているとすると、511/4096の乗算は

typodupeerror

犯人はmoriwaka -- Anonymous Coward

読み込み中...