‘height’ の値をパース中にエラーが発生しました。


ハマっていたというほどでもなくスルーできる問題だったのだけど、
ずっとエラーが出ていて不思議に思っていたのでメモ。

もんだい

enchant.jsとかstats.jsとかを使いながらゲームを作っていたところ、
Firefoxの開発ツールバー(not firebug)で次のようなエラーがでた。

‘height’ の値をパース中にエラーが発生しました。 このスタイル宣言は無視されました。

なんのheightかわからんし、エラー行わかんないし、
Chromeではエラーでないし、ゲームは正常に動いてるし、不思議だなぁ。
ゲームで座標突っ込んでるところに特に問題ないしなぁ…。

げんいん

と困っていたのだけど、どうもstats.jsがhtmlのタグ内に吐いてるスタイルシートの指定が気に食わなかったようだ。

height : 16.1 px;

なるほど、単位がpxなんだから整数を指定しろよというわけである。
整数だと思って読みにいってるのに変な点がついているのでパースに失敗するわけである。

でもでも待って。stats.jsちゃんが全部悪いの?死ねばいいの?
確かにpxには整数を指定するんだとか書いてあるサイトも見たことがある気がするが、そうだったっけ?

犯人はお前だ

CSS仕様書先生曰く、

Lengths refer to distance measurements.

The format of a length value (denoted by <length> in this specification) is a <number> (with or without a decimal point) immediately followed by a unit identifier (e.g., px, em, etc.). After a zero length, the unit identifier is optional.

Some properties allow negative length values, but this may complicate the formatting model and there may be implementation-specific limits. If a negative length value cannot be supported, it should be converted to the nearest value that can be supported.

If a negative length value is set on a property that does not allow negative length values, the declaration is ignored.

In cases where the used length cannot be supported, user agents must approximate it in the actual value.

だそうである。

英語が不得意なのでフィーリングでしか読めないけど、

  • 負の長さの値を許可しないプロパティではその負の値の宣言を無視するよ
  • サポートできない長さが指定してあったらとりあえずサポートできる値に近似するよ

みたいなことを感じ取った。
小数についての項目は、小数点があろうがなかろうがその後に単位が続くんじゃよとしか書いてないように見える。
つまりstats.jsちゃんは悪くなく、FirefoxさんのCSS Parserが独自の正義をふるっているだけのようだ。

なんでこんな実装になっているのかしら?

# 全然関係ないんだけどこのブログ、間に挟んでいるはずの改行が全部無効になっていて困っている。
#どうするんだっけ。



和英音ゲー用語辞典 Rythem Video Game Japanese-English Dictionary


大層なタイトルをつけてしまったが、日本の音ゲー界(というかBEMANI界)では
かなり独特な用語が使われているけど英語圏ではどんな表現なのかな~って気になったので調べてみただけ。
英語の音ゲー用語のまとめサイトみたいなのが見つけられたわけじゃないので
色んなとこで使われている言葉を見て、ある程度メジャーっぽいものを載せることにしたよ٩(๑❛ᴗ ❛๑)۶

筆者は英語力が皆無でフィーリングで読んでいるため、
間違っていたり、こんなのもあるよというのがあったら教えて欲しいです。
あとpop’n musicとbeatmania IIDXに非常に偏ってるのは、
そういうサイトしか調べなかったのと、筆者がpop’nしかやらないからです。

どっちかというとKONAMIの音ゲー展開はアジアの方で活発な気もするので、
そっちの言葉も知りたいナー(*˙︶˙*)
日本の音ゲー攻略情報はだいぶ充実していると思うけど、海外の情報も追えたらもっといいよね~。

—-

  • 音ゲー用語 in Japanese : 音ゲー用語 in English

    解説(と感想と言い訳)

—-

  • 譜面 : chart

    音ゲー用語ではなくて普通の用語な気もするけど一応。
    scoreとかmusicではない、と思う。scoreは点数とかぶるしね。
    機種によっては呼び方が変わると思いますが、IIDXとかpop’nではchartのはず。

  • 運指 : finger

    これも音ゲー用語じゃない気がするけど一応。
    あっちではどんな運指がメジャーなのかとか、
    「3:5半固定」「1048式」「対称固定」「手首皿」
    みたいな名称がついているのかどうかまでは調べませんでしたヾ(:3ノシヾ)ノ゛
    興味のある方は調べて、教えてください。
    各指の呼び方は次の項に。

  • 親/人/中/薬/子 : thumb/index/middle/ring/little(pinky)

    指の名前そのままです。
    ちなみにpop’n musicでは、完全指押しでない限り

    m_te

    ↑ここの掌底とか手根とかいう場所が頻繁に使われるので調べたかったのだけど、
    そもそも日本でも一般的な名称がわからない箇所なので、よくわからなかった_(´ˇωˇ`」∠)_

  • 同時押し : chords
    chords

    ↑こういう同時に複数のボタンを押す配置のこと(multiple keypresses at the same time)。
    chordsとは音楽用語で、複数の音の組み合わせを示す「和音」のこと。

    ex.
    3ボタン同時押し : 3-button chords
    2個同時押し : 2-note chords
    3と4の同時押し : 3+4 chords
    Evansみたいなスクラッチ付の同時押し : scratch+chords like EVANS

  • 階段 : scales/stairs/staircases
    scales

    ↑こういう片側からその反対側に順番に配置されているノートの配置のこと。

    pop’n music 18の「ポップン検定」で公式に「階段」って用語が使われてるのにちょっと驚いたけど、
    どうやら英語圏でも階段は階段(stair/staircases)だったようです(ノ)˙³˙(ヾ)
    stairとstaircasesで小階段とか大階段を言い分けているかどうかはちょっとわかりませんでした。

    ちなみにscalesは音楽用語で、ドレミファソラシドみたいに音高順に音を並べたもののこと。音階。

    ex.
    せやけどXepher穴とかsnow goose穴みたいな階段譜面はできるんよ :
    But I can do Xepher [A], snow goose [A] that type of stair-based chart.
    二重階段 : double scale

  • 交互連打 : drumrolls
    drumrolls

    ↑こういう、二つのレーンで交互にノートが降ってくる配置。

    日英で全く違う表現がされているケースがようやく出てきました+.゚(‘ω’*人)
    ちなみに実際に楽器のドラムでドラムロールをやるときのことを考えると、
    このdrumrollsっていうのはシングルストロークのドラムロールを指しているのだと思います。
    吹奏楽部の子がよくやってるダブルストロークだったり、
    jojo mayerの得意技のone hand rollとかではなさそうです(

    ex.
    24分交互 : 1/24 drumrolls
    BPM400の1+3交互 : drum roll on 1+3 at 400bpm

  • 縦連打 : jackhammers
    jackhammers

    ↑こういう、同じボタンを連続で叩かせる配置(long drills of same-key presses)。

    日英で全く違う表現が使われているケース第二弾。
    jackhammersってなんだよ…cool過ぎるだろ…と思ったけど、下のような道具のことらしい。

    jackhammers2

    地面をガガガガガッガッってやってるやつですね。
    なんだか知ってしまうと微妙にダサい気がしなくもない…((( ꒪⌓꒪)))
    でも「縦連打」よりはよっぽど気が利いた呼び方だと思う。(特定の命名者がいたらごめんなさい:D)

  • 餡蜜 : anmitsu
    anmitsu

    ↑左のような微妙にズレてる複数のノートを右のように同時押し(chords)に見たてて押すことによって
    GOODは出るけどコンボをつなぐことができるというテクニック。
    (a technique to cope with lots of keypresses very close to each other)

    なんということでしょう!°˖✧◝(╹▿╹)◜✧˖°
    anmitsuは世界共通用語だったのです!あ、ちなみにおフランスでもanmitsuは使われていました。
    もともとが人名だって、みんなわかっているのかしら。
    びっくりだね。

    ちなみにわざとズラして取ることを逆餡蜜といいますが、そっちはわかりません。

  • 無理押し : elbow/elbow chords
    elbow

    ↑こういう、手の大きさとか体格によって押せない人が存在するだろう同時押しのこと。
    逆に言うと手がでっかい人には何が無理なのかわからん配置で、
    練習するまでもなく最初から押せるそうです。おふぁっきん!!!!!٩(◦`꒳´◦)۶

    IIDXのSPにはないと思う。
    DPでのそういう配置は無理皿と呼ばれるものでもあるので、「無理押し」はあまり聞かない気がする。
    pop’n musicでは、古いバージョンで発表された譜面か、CS出身の譜面、
    random・s-randamオプションを使った譜面にしか出現しないはず。
    jubeatとかでも使われる言葉だけど、今回はpop’n music関連のやり取りだけ調べた。
    elbowとは肘のこと。攻略法がそのまま配置の名前になったようです。

    日本の無理押し攻略の歴史としては、こう肘(腕)を使ってダーンと押せば、
    1469とか159みたいな配置でも同時に押せるんじゃないの?というのが最初だったらしく
    この方法が海外にも伝わったことから、こういう名前がついたのだと思います。
    今は指を広げて無理押しを処理する方法もメジャーになり、
    「左は肘+右手は指」みたいなのが流行ってますけどね。

    顎使って処理する方法が最初に開発されていたら、jawとかjaw chordsって呼ばれてたんだろうか(ò﹏ó;)

  • 体力 : stamina
    そのままの意味。

—-

こっからちょっと信頼度が下がる。怪しい。₍₍ ◝(’ω’)◟ ⁾⁾

  • 辛判定 : strict timing windows

    普通の判定よりも厳しくて、普段ならGreatなところがGoodになってしまうような判定のこと。

    一応対応するっぽい言葉を書いたけど、特定の用語とかはないと考えていいのかもしれない。

    日本ではこういうのを「辛い」って言うんですかね?辛ゲージとかもそうか。
    「からい」って読むことが多い気がするけど、意味的には「つらい」?
    「つらい」でもなんだか違和感がありますね。

  • 粘着 : sticking

    同じ譜面をうまくいくまで何回もやること。たぶん。

    ちょっと自信ないけど、何回か見かけたのでたぶん普通に使う言葉。
    意外だけど、日英で同じ表現。

  • 発狂 : hardest part

    譜面の中で、突出して難しい箇所。特にその譜面の適正レベルでは認識困難な場合をいう。たぶん。

    「発狂」というのがそもそも音ゲー発祥でなくSTGの用語なので、
    海外ではどんな用語が使われているのかなーと期待していたんですが、
    特に面白い表現は見つかりませんでした。
    「一番難しい場所」という意味です。

  • ソフラン : tempo change

    シーケンスの速さが極端に変化すること(それによって難度が上がる)。

    特別な表現は見当たりませんでした。。。
    日本語の元ネタは、beatmania IIDX 2nd styleの
    SOFT LANDING ON THE BODYに上記のギミックがあったことから。

—-

以下みたいな言葉は対応する表現が見つからなかった。╭(;ㅂ;`)╮

  • 三角押し
  • 桂馬押し
  • 螺旋
  • 地力
  • 詐称
  • わしゃわしゃ

—-

以上!!!゚+。(n*‘ω‘ *n)。+゚



何も無かったんだよ


過去の記事は何もなかったことにし、このブログは備忘録兼なんとかになるのです。



やるやる詐欺ですね。しかたないね。


停滞中。

夏休み入ったらむしろやらなそうで怖い。

 

何もやらない意味不明な夏休みにはしたくないものです。

夏休みなんてもうあと数回しかないしー・・・。



話題を見つける・理解する(とりあえず分類してみるか)


隔週刊uran.blogのお時間です。

っていうかひどいね!更新頻度がすごいね!

せめて週刊にしたいです。

 

さて、あんまり考えすぎてプログラムを作る前に熱が冷めてしまうとアレなので

とりあえずてきとーな形でもいいので早めに実装してみることにします。

 

前回人力で話題抽出をやってみて、あんまりなんも分からなかったので

とりあえず「ひとかたまりの会話」を分類することにしてみまうす。

 

とりあえず普通の文書分類と同じ方向で考えてみます。

 

 

みじけぇ。



話題を見つける・理解する(人力でやってみた)


というわけで前回シンプルすぎて困っちゃうモデルを考えたので

それを前提に、最初の切り口としてまず話題を見つけるにはどうしたらいいか考えてみた。

 

…けど一切思いつかなかったので、とりあえず実際に人力で話題抽出をやってみることにした。

あ、publicに公開されて困る内容がある人は申し出てくれたら修正しまふ。

誰も見てないですね、わかります。

 

topic

 

こんな感じになりました。

きれいですね。そうでもないですね。

 

表示してませんけど、横線に沿って縦にチャットの発言が並んでます。

それぞれの発言がどういう話題に属しているかをボクの独断で判断して

同じ話題を同じ色で色づけしてみました。

例えばオレンジにした「遅刻」の話題はこんな感じ。

この一連のやりとりの中に関係なさげに含まれていた

「R*****_あいさつ」に属する発言「おはよう」は外しました。

 

14:07 (R*****_) あれ
14:07 (R*****_) まと遅刻したの
14:07 (R*****_) ざまぁ
14:07 (u***) w
14:07 (u***) ひどいw
14:07 (R*****_) 人の不幸を笑わずにはいられない
14:08 (u***) みんなで笑いあおう
14:12 (j*****) 俺も昨日の仕事遅刻したけどな! 2分だけ!!
14:13 (u***) w
14:14 (j*****) 腹痛で新宿駅のトイレに篭もってましたって言う。

 

色がグラデーション?になってるところは

ある発言がきっかけで話題が別物に推移し始めたところ。

例えばオレンジの「年号」の話題の始めから

レッドの「人工眼」の話題の終わりまでの発言を拾ってくると

 

15:15 (j*****) 免許確認した 今平成何年かよくわからなかった。
15:15 (e**_) うちの実家の方ってスピード違反の取り締まり多いから本気で焦るよ
15:15 (e**_) 21年です
15:15 (u***) w
15:15 (j*****) thx!!
15:15 (j*****) 西暦でかけばいいのに・・
15:15 (e**_) だよねー
15:16 (j*****) あと1年もないじゃないか俺の免許・・・
15:16 (j*****) いい加減視力で引っかかりそうで怖い
15:16 (e**_) 勘で答えたら通ったよ!
15:16 (j*****) д
15:16 (u***) q
15:16 (u***) わしは両目1.5
15:17 (j*****) 俺その1/100ぐらい
15:17 (u***) ww
15:17 (e**_) 学校の視力検査で一番上が見えなくて、2~3つくらい前に出てた記憶がある
15:17 (j*****) ええい人工眼まだか
15:17 (u***) www
15:17 (u***) まだまだ実用レベルじゃないみたいっすよ

 

こんな感じ。

15:16のj*****さんの「いい加減~」で「視力」の話題に推移しているのがわかります。

ちなみにこの「視力」の話題は

15:24にR*****_さんがメタファー的な意味での視力の話題を振ることでさらに推移します。

 

15:24 (R*****_) 俺は
15:24 (R*****_) 心が曇りすぎて乙女心がわかりません、こんばんは
15:27 (e**_) なにがあった……
15:27 (u***) 心の眼鏡をふきふきなさい
15:27 (R*****_) いやぁ
15:27 (R*****_) 昔よりは分かるようになってると思いたいなぁ
15:27 (R*****_) はっはっは
15:27 (j*****) 超音波洗浄機にかければいい

 

 こんな感じ。

 

実際に人力でやってみたら、なにかしら発言のつながりとか共通点とか見えるかと思ったけど、

まったく見えませんね!

 

「デジカメの動画」の話題なんかはまだマシで

 

14:18 (j*****) 手持ちのデジカメで動画取ってみたけど
14:18 (j*****) 撮影中液晶のバックライトが消えないから電池絶対もたない罠
14:18 (R*****_) www
14:19 (j*****) 歩きながら一秒置きぐらいに写真撮りまくってあとから合成するとか非常にめんどくさい方法考えた。
14:19 (j*****) 絶対やだ
14:19 (R*****_) だるwwwwwwwwww
14:20 (R*****_) ちょっとデジカメもってる人全員で
14:20 (R*****_) キャメラもっていけばいいね
14:20 (j*****) それが無難
14:24 (j*****) おおお
14:24 (j*****) 一定時間枚に写真自動で取ってくれるモードあった
14:24 (R*****_) www
14:24 (j*****) ぱしゃぱしゃうるさい

 

から、まぁゴミもあるけど、結構繋がりあってそうな名詞が取り出せて

 

「手持ち」、「デジカメ」、「動画」、「撮影中」、「液晶」、「バックライト」、「電池」

「罠」、「一秒」、「写真」、「自動」、「合成」、「方法」、「キャメラ」

 

という感じのものが出てきました。人力だけど。

 

これなら、なんとかプログラムでも繋がりが見えるんじゃないかなと期待ができたけど

さっき出てきた「遅刻」の話題なんかは殆ど繋がりが見えない・・・。

 

 「遅刻」、「人」、「不幸」、「俺」、「昨日」、「仕事」、「2分」

 

遅刻が不幸かとか、遅刻といえば学校や仕事とか、そういう常識を持ち合わせろということですね、

たぶん無理です。

 

 

さて、いきなり先行きがまっくらだぜ!



話す仕組み。


どのようにして人工無脳にお話をさせるかを考えてみまふ。

…いや、考える前にまずちょっとだけ調べてみました。

 

「人工無脳」で検索すると上位にでてくる人工無脳は考えるでは、

「人間らしさとは」やら「世界を知覚する」など

心をもっているかのような発言ができる人工無脳を作成するための

様々なアプローチが書いてあるようです。

しかし、ボクには難解で理解できませんでした。

つーか、頭が理解しようとしませんでした。

項目が多すぎると思います。

 

 

 こまけぇこたぁいいんだよ!!(AA略

 

 

というわけで、もっと簡単で(ボクが)直感的に分かる仕組みを考えることにしました。

 

 model

 

こんな感じでどうだっ。

 

人が人の話に反応をするとき、人は「話題のタネ」や「話題(話の流れ)」を見つけて、

それを伸ばすのに適当な発言をしているのだろうという、

ボクがたったいまテキトーに考えた仮説を元にしたモデル。

 

だから会話を聞いてから発言するまではきっとこんな感じ。

 

model2

 

例に当てはめるとせっかく簡単な仕組みにしたふりをしたのに、

めんどくささ爆発なのがばれてしまいますが、たぶん以下のようになります。

こまけぇこたぁいいんだよ!!(AA略 という方はさっきまでの図だけで納得してくれたら幸いだと思います。

 

chat

 

上のような会話があったとき、話題の開始地点(タネ)は「みんなAIONやるんかい?」です。

開始地点からしか抜粋してないから開始地点もクソもないけど。

 

今20:39だとすると、「聞く」というのは

「みんなAIONやるんかい?」、「PC的にきつそう」、「だよねー」を入力すること。

もっと前の発言があればそれも入力します。

 

「話題抽出」は20:39までの発言に繋がりがあることを見つけること。ここでは3行全部。

「話題理解」はこの3行の発言から「あっ、AIONのプレイ予定の話をしているっ!」と読み取ること。

「話題抽出」と「話題理解」は同時だと思います。

内容をみないで繋がりなんて見つけられるわけないし、

繋がりを認識しなければそもそも話題という概念がなくなってしまうから。

 

「発言作成」は「AIONのプレイ予定」の話が伸びるような発言を

自分の知識や経験、感情から作成すること。

「AIONって課金高すぎだろ死ね!」と思っているので、

その旨を含む発言を作成したことにする。きっとあってるはず!

 

そして「課金unkだからやらない」というプレイ予定を実際に「発言」する。

結果として「AIONのプレイ予定」の話題はちゃんと伸び、めでたしめでたしというわけです。

そして「AIONのプレイ予定」の話題は、AIONについて否定的な見解を示すユーザが目立ったために

「AIONはアカン」という話題に変質しています。

 

 

というわけで、まぁ例外もあるでしょうけど一応このモデルで説明できる例も多い気がするので

これに合わせた仕組みを持つ人工無脳をつくっていきたいと思います(´∀`*)



どんな人工無脳にしようカナ。


ん、あ・・・目標でしたね、目標。

レポートやっててすっかり忘れてた☆ミ

 

じゃあ目標~。

  1. 人々の会話から半自動学習を行えるようにする
  2. 時々でもいいので人をクスリとさせる発言を行えるようにする
  3. チャットだけでない何か一芸を持たせる

抽象的だけど、大体こんな感じを目指してゆるくがんばります。

 

何もかも新しいことをしなければいけないので

たぶん完成までまっすぐ進めず、ぐねぐね迷うと思いますが。

勉強ってことで。

 

だれも期待してないはずだけど、自分だけワクテカして完成を待ちたいと思います。

hehe…



人工無脳つくるお…!


なんとなく関係なくもない研究してるし

人工無脳つくってみようかな・・・っ!

 

人工無脳(じんこうむのう)とは、人工知能に対応する用語で、英語圏ではchatterbot、もしくはchatbotと呼ばれ、その訳語として会話ボットあるいはおしゃべりボットとも呼ばれることがある。 (wikipedia – 人工無脳)

 

(´・ヮ・`)へぇ

まぁ、人間様みたいに考えてるわけじゃないけど、何かしゃべって面白いものです。たぶん。

有名なものに、uzuraとかがあります。

六ヶ月くらいuzuraを生身の人間だと勘違いしていた人が出るくらい頭よさげです。

 

 というわけでどんなのを作ろう。

目標を決めないと進めない体質なのでアバウトでもいいから決めてみるヨ。

 

・・・明日ね!



よし、はじめるよ!はじめるったら!


ぇ、ゲームのこと?たぶんかかねーっす。。。

なんか作ろう。そしてここを作成日誌にしよう。

 

うわぁ、本当に三日坊主になりそう☆ミ




うらんさん備忘録 , WordPress - Daydream 2.0 , Entries (RSS) , Comments (RSS).