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

numaさんのトモダチの日記。 あなたのタレコミがスラドを支えます。さぁ、タレこめ!

16496306 journal
日記

uhyorinの日記: [M1]336(2023-02-09 まで有効):自宅のネット接続がおかしい

日記 by uhyorin

朝、有線LAN接続のPCからネットにつながら…ない?
ルーターの再起動をブラウザの管理画面から実行しようとログインするも、そのルーターの管理画面そのものの表示応答反応が遅いっていうか受信できていないだろって。
スマホの無線LAN経由だとルーターの管理画面やTwitter等の応答はいつも通り速かったので、有線LAN環境で物理的に何かあったのかも。帰ったら調査しなきゃ。
----
調査結果ははてなブログにて更新。USB有線LAN万歳。
ThinkCentre M75q Tiny Gen1内蔵 Realtek PCIe GbE Family Controller(有線LAN)でネットに繋がらない→USB接続有線LANに切り替え
----
東京の銭湯がガス代月100万円値上がり。営業努力では対策できない

+1 (参考になる) Re:一方ガス屋は (853034-4406870、 残り7 ポイント)
+1 (参考になる) そういえば去年・今年と行ってないなあ (853034-4406894、 残り6 ポイント)
+1 (参考になる) Re:銭湯の統制料金 (853034-4406950、 残り5 ポイント)

インフラ維持に光熱費の値上げで今の生活を維持するだけでも大変だな。
可処分所得を少し?削れるうちは何とかなったとなるけど、それすら追いつかなくなったら。

どの炭酸飲料が好き?

+1 (参考になる) コーラ (852560-4407322、 残り4 ポイント)
+1 (参考になる) 三ツ矢サイダー (852560-4407333、 残り3 ポイント)
+1 (参考になる) 炭酸水に投票した (852560-4407338、 残り2 ポイント)

生協の「ただの炭酸水」飲みきりサイズで飲みやすいよ。

光回線がないのにADSL終了。代わりにスターリンクを導入したという話

+1 (興味深い) Re:衛生インターネット (853044-4407359、 残り1 ポイント)
+1 (興味深い) Re:イーロン・マスクに依存するのは怖い (853044-4407342、 残り0 ポイント)

スターリンクとか衛星がんがん打ち上げって、2000年代前半のガンシューティングゲーム「タイムクライシスⅡ」のオープニングみたいだな。
衛星の中に軍事兵器が組み込まれていたりすることは…さすがにないか。

16495882 journal
人工知能

yasuokaの日記: ku-nlp/deberta-v2-base-japaneseにおける常用漢字サポート

日記 by yasuoka

一昨日の日記の続きだが、ku-nlp/deberta-v2-base-japaneseのトークナイザは、常用漢字表2136字のうち「楷」「憬」「錮」「𠮟」「朕」「塡」「剝」「頰」「慄」「厘」の10字をサポートしていない。これらの文字は未定義語になってしまうため、[UNK]に化けてしまう。最新のtransformersで試してみよう。

$ pip3 install -U transformers fugashi
$ python3
>>> from transformers import AutoTokenizer
>>> tkz=AutoTokenizer.from_pretrained("ku-nlp/deberta-v2-base-japanese")
>>> for t in ["楷書","憧憬","禁錮","𠮟責","朕","装塡","剝製","頰","慄然","一分一厘"]:
...   print(tkz.convert_ids_to_tokens(tkz(t)["input_ids"]))
...
['[CLS]', '▁', '[UNK]', '書', '[SEP]']
['[CLS]', '▁', '憧', '[UNK]', '[SEP]']
['[CLS]', '▁禁', '[UNK]', '[SEP]']
['[CLS]', '▁', '[UNK]', '責', '[SEP]']
['[CLS]', '▁', '[UNK]', '[SEP]']
['[CLS]', '▁装', '[UNK]', '[SEP]']
['[CLS]', '▁', '[UNK]', '製', '[SEP]']
['[CLS]', '▁', '[UNK]', '[SEP]']
['[CLS]', '▁', '[UNK]', '然', '[SEP]']
['[CLS]', '▁一', '分', '一', '[UNK]', '[SEP]']

これに対しdeberta-base-japanese-juman-ud-goeswithでは、tokenizers.normalizers.Replaceの助けを借りて「𠮟→叱」「塡→填」「剝→剥」「頰→頬」の置き換えをおこなったが、残る6字は私(安岡孝一)にはどうにもならなかった。

>>> tkz2=AutoTokenizer.from_pretrained("KoichiYasuoka/deberta-base-japanese-juman-ud-goeswith",trust_remote_code=True)
>>> for t in ["楷書","憧憬","禁錮","𠮟責","朕","装塡","剝製","頰","慄然","一分一厘"]:
...   print(tkz2.convert_ids_to_tokens(tkz2(t)["input_ids"]))
...
['[CLS]', '▁', '[UNK]', '書', '[SEP]']
['[CLS]', '▁', '憧', '[UNK]', '[SEP]']
['[CLS]', '▁禁', '[UNK]', '[SEP]']
['[CLS]', '▁叱', '責', '[SEP]']
['[CLS]', '▁', '[UNK]', '[SEP]']
['[CLS]', '▁装填', '[SEP]']
['[CLS]', '▁剥', '製', '[SEP]']
['[CLS]', '▁頬', '[SEP]']
['[CLS]', '▁', '[UNK]', '然', '[SEP]']
['[CLS]', '▁一', '▁分', '▁一', '▁', '[UNK]', '[SEP]']

個人的には「楷書」や「慄然」くらいはサポートしたいところだが、さて、どう押し込んでいったらいいかな。

16495600 journal
中国

nemui4の日記: ノイズ付きゲームキャンセル、ステレオ耳入り式、片耳聞こえない 2

日記 by nemui4
16494539 journal
人工知能

yasuokaの日記: ku-nlp/deberta-v2-base-japaneseで作る日本語係り受け解析モデル

日記 by yasuoka

1月15日の日記の手法を応用して、ku-nlp/deberta-v2-base-japaneseをもとに、日本語係り受け解析モデルdeberta-base-japanese-juman-ud-goeswith作ってみた。Google Colaboratoryで動かしてみよう。

!pip install transformers fugashi deplacy
from transformers import pipeline
nlp=pipeline("universal-dependencies","KoichiYasuoka/deberta-base-japanese-juman-ud-goeswith",trust_remote_code=True,aggregation_strategy="simple")
doc=nlp("全学年にわたって小学校の国語の教科書に挿し絵が用いられている")
import deplacy
deplacy.render(doc,Japanese=True)
deplacy.serve(doc,port=None)

mecab-jumandic-utf8に切り替えたので、インストールがかなり楽になっている。「全学年にわたって小学校の国語の教科書に挿し絵が用いられている」を係り受け解析してみたところ、私(安岡孝一)の手元では以下の結果になった。

全       NOUN <╗           compound(複合)
学年     NOUN ═╝═╗<══════╗ obl(斜格補語)
に       ADP  <══╝       ║ case(格表示)
わたって VERB <════════╗ ║ advcl(連用修飾節)
小学校   NOUN ═╗<╗     ║ ║ nmod(体言による連体修飾語)
の       ADP  <╝ ║     ║ ║ case(格表示)
国語     NOUN ═╗═╝<╗   ║ ║ nmod(体言による連体修飾語)
の       ADP  <╝   ║   ║ ║ case(格表示)
教科     NOUN <╗   ║   ║ ║ compound(複合)
書       NOUN ═╝═╗═╝<╗ ║ ║ obl(斜格補語)
に       ADP  <══╝   ║ ║ ║ case(格表示)
挿し     VERB <══╗   ║ ║ ║ acl(連体修飾節)
絵       NOUN ═╗═╝<╗ ║ ║ ║ nsubj(主語)
が       ADP  <╝   ║ ║ ║ ║ case(格表示)
用い     VERB ═╗═╗═╝═╝═╝═╝ root(親)
られて   AUX  <╝ ║         aux(動詞補助成分)
いる     AUX  <══╝         aux(動詞補助成分)

# text = 全学年にわたって小学校の国語の教科書に挿し絵が用いられている
1    全    _    NOUN    _    _    2    compound    _    SpaceAfter=No
2    学年    _    NOUN    _    _    15    obl    _    SpaceAfter=No
3    に    _    ADP    _    _    2    case    _    SpaceAfter=No
4    わたって    _    VERB    _    _    15    advcl    _    SpaceAfter=No
5    小学校    _    NOUN    _    _    7    nmod    _    SpaceAfter=No
6    の    _    ADP    _    _    5    case    _    SpaceAfter=No
7    国語    _    NOUN    _    _    10    nmod    _    SpaceAfter=No
8    の    _    ADP    _    _    7    case    _    SpaceAfter=No
9    教科    _    NOUN    _    _    10    compound    _    SpaceAfter=No
10    書    _    NOUN    _    _    15    obl    _    SpaceAfter=No
11    に    _    ADP    _    _    10    case    _    SpaceAfter=No
12    挿し    _    VERB    _    _    13    acl    _    SpaceAfter=No
13    絵    _    NOUN    _    _    15    nsubj    _    SpaceAfter=No
14    が    _    ADP    _    _    13    case    _    SpaceAfter=No
15    用い    _    VERB    _    _    0    root    _    SpaceAfter=No
16    られて    _    AUX    _    _    15    aux    _    SpaceAfter=No
17    いる    _    AUX    _    _    15    aux    _    SpaceAfter=No

SVGで可視化すると、こんな感じ。Jumanの単語長では「わたって」が一語になってしまうのが、国語研短単位とも国語研長単位とも違っていて、結果としてそこがうまく読めていない。ここの精度を上げようとするなら、Jumanの単語長に合わせたUniversal Dependenciesを作らなきゃいけないのだけど、それはさすがに手間かなぁ。

16493655 journal
変なモノ

nemui4の日記: 読めなくなった電子書籍 4

日記 by nemui4

AmazonのKindle、PCで新しい電子本を見るにはアプリのアップデートが必須に
https://yro.srad.jp/story/23/02/02/1438255/

対して電子書籍は10年程度、あるいはそれよりも早くに読めなくなる可能性があるとしている。

可能性があるというか既にそうなってた。
Kindleで購入済みのコンテンツが連絡なしに配信停止になっていて、購入済みリストは出ていて端末への配信はできるけど中身は読めないのがあった。
サポートに問合せをしても「よくわかりません」的な回答が返ってくるだけだし。

それ以前にサービス自体が終了して、読めなくなったのも沢山あるし。
電子書籍や動画やゲームとかも、購入じゃなくて期間限定利用権利の取得なんだとはわかっているけど、モヤる。

紙の書籍や円盤他物理メディアでも永久ではなくて程度の差ですかそうですか。

紙の書籍は保存状態が良ければ、出版から100年以上経っても読み続けることができる。

百年以上生きていられない・・・
子孫か誰かに残すということなんでしょうけど。

16493409 journal
日記

Takahiro_Chouの日記: 映画感想 & 自作フォント

日記 by Takahiro_Chou

映画感想はこちらに移行します。

自作フォントの更新のおしらせはこちらに移行します。

16493275 journal
日記

WindKnightの日記: 困難女性支援に関する質問に関する答弁書 6

日記 by WindKnight
Twitter で、ここ

音喜多議員の質問書に回答が来ました。

この時点で、予算を増すには、問題が多すぎるような。
16493172 journal
人工知能

yasuokaの日記: ku-nlp/deberta-v2-base-japaneseのトークナイザをJuman++に繋ぎつつJSQuADでファインチューニング 2

日記 by yasuoka

昨日の日記の手法を応用して、ku-nlp/deberta-v2-base-japaneseJGLUEのJSQuADでファインチューニングしてみた。Google Colaboratory (GPU版)だと、こんな感じ。

!test -d jumanpp-2.0.0-rc3 || curl -L https://github.com/ku-nlp/jumanpp/releases/download/v2.0.0-rc3/jumanpp-2.0.0-rc3.tar.xz | tar xJf -
!test -x /usr/local/bin/jumanpp || ( mkdir jumanpp-2.0.0-rc3/build && cd jumanpp-2.0.0-rc3/build && cmake .. -DCMAKE_BUILD_TYPE=Release && make install )
!test -d transformers-4.26.0 || git clone -b v4.26.0 --depth=1 https://github.com/huggingface/transformers transformers-4.26.0
!test -d JGLUE || ( git clone --depth=1 https://github.com/yahoojapan/JGLUE && cat JGLUE/fine-tuning/patch/transformers-4.9.2_jglue-1.1.0.patch | ( cd transformers-4.26.0 && patch -p1 ) )
!cd transformers-4.26.0 && pip install .
!pip install -r transformers-4.26.0/examples/pytorch/text-classification/requirements.txt
!pip install protobuf==3.19.1 tensorboard pytextspan rhoknp
import json
from transformers import DebertaV2TokenizerFast,AutoModelForMaskedLM
tkz=DebertaV2TokenizerFast.from_pretrained("ku-nlp/deberta-v2-base-japanese")
mdl=AutoModelForMaskedLM.from_pretrained("ku-nlp/deberta-v2-base-japanese")
tkz.__class__.__name__="JumanppDebertaV2TokenizerFast"
tkz.init_kwargs["auto_map"]={"AutoTokenizer":[None,"tokenizer.JumanppDebertaV2TokenizerFast"]}
tkz.save_pretrained("deberta-v2-base-japanese")
mdl.save_pretrained("deberta-v2-base-japanese")
s='''#! /usr/bin/python3
from transformers import DebertaV2TokenizerFast
from transformers.models.bert_japanese.tokenization_bert_japanese import JumanppTokenizer
class JumanppPreTokenizer(JumanppTokenizer):
  def jumanpp_split(self,i,normalized_string):
    import textspan
    t=str(normalized_string)
    k=self.tokenize(t)
    return [normalized_string[s:e] for c in textspan.get_original_spans(k,t) for s,e in c]
  def pre_tokenize(self,pretok):
    pretok.split(self.jumanpp_split)
class JumanppDebertaV2TokenizerFast(DebertaV2TokenizerFast):
  def __init__(self,**kwargs):
    from tokenizers.pre_tokenizers import PreTokenizer,Metaspace,Sequence
    super().__init__(**kwargs)
    self._tokenizer.pre_tokenizer=Sequence([PreTokenizer.custom(JumanppPreTokenizer()),Metaspace()])
  def save_pretrained(self,save_directory,**kwargs):
    import os
    import shutil
    from tokenizers.pre_tokenizers import PreTokenizer,Metaspace,Sequence
    self._auto_map={"AutoTokenizer":[None,"tokenizer.JumanppDebertaV2TokenizerFast"]}
    self._tokenizer.pre_tokenizer=Metaspace()
    super().save_pretrained(save_directory,**kwargs)
    self._tokenizer.pre_tokenizer=Sequence([PreTokenizer.custom(JumanppPreTokenizer()),Metaspace()])
    shutil.copy(os.path.abspath(__file__),os.path.join(save_directory,"tokenizer.py"))'''
with open("deberta-v2-base-japanese/tokenizer.py","w",encoding="utf-8") as w:
  print(s,file=w)
for f in ["train-v1.1.json","valid-v1.1.json"]:
  with open("JGLUE/datasets/jsquad-v1.1/"+f,"r",encoding="utf-8") as r:
    j=json.load(r)
  u=[]
  for d in j["data"]:
    for p in d["paragraphs"]:
      for q in p["qas"]:
        u.append({"id":q["id"],"title":d["title"],"context":p["context"],"question":q["question"],"answers":{"text":[x["text"] for x in q["answers"]],"answer_start":[x["answer_start"] for x in q["answers"]]}})
  with open(f,"w",encoding="utf-8") as w:
    json.dump({"data":u},w,ensure_ascii=False,indent=2)
f="transformers-4.26.0/examples/pytorch/question-answering/run_qa.py"
!if fgrep trust_remote_code {f} ; then : ; else ( echo '%s/use_fast=.*,/& trust_remote_code=True,/' ; echo wq ) | ex -s {f} ; fi
!python {f} --model_name_or_path deberta-v2-base-japanese --do_train --do_eval --max_seq_length 384 --learning_rate 5e-05 --num_train_epochs 3 --per_device_train_batch_size 16 --per_device_eval_batch_size 16 --output_dir ./deberta-v2-base-japanese-jsquad --overwrite_output_dir --train_file train-v1.1.json --validation_file valid-v1.1.json --save_steps 5000 --warmup_ratio 0.1

GPU版でも5時間を要したものの、私(安岡孝一)の手元では以下の「eval metrics」が出力された。

***** eval metrics *****
  epoch                   =        3.0
  eval_exact_match        =      90.86
  eval_f1                 =    90.9027
  eval_runtime            = 0:00:55.75
  eval_samples            =       4450
  eval_samples_per_second =      79.82
  eval_steps_per_second   =      5.004

JSQuADが、EM/F1=0.9086/0.9090というのは、baseモデルとしては非常にイイセンだと思う。ku-nlp/deberta-v2-large-japaneseの方も見てみたい気がするが、さすがにGoogle Colaboratoryだと打ち切られちゃうかなぁ。

16492641 journal
変なモノ

nemui4の日記: アメリカではうどん一杯を12人で作るらしい 14

日記 by nemui4

アメリカの丸亀製麺から考える日本でDXが進まない本当の理由
https://blog.btrax.com/jp/japan-dx-challenges/
アメリカでは完全分業シングルタスク
日本人は器用でマルチタスクでこなす

日本だと1/3か半分くらいの人数なのかな

そこから日本でDXが進まない原因とか無理やり持っていってる気がするけど

16492632 journal
変なモノ

nemui4の日記: かれー

日記 by nemui4

去年よく食べたのはサバ缶カレー

フライドオニオン
トマト
ニンニク生姜
サバ缶
スパイスと塩

混ぜてレンチンで結構うまい
サバ缶一箱貰って半分以上これで食べてた

イナバのカレー缶2個買ってあいがけにするのも好き

はらへる

typodupeerror

ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ

読み込み中...