Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
highnessのトモ近況 | スラド
[go: Go Back, main page]



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

highnessさんのトモダチの日記。

13932248 journal
日記

akiraaniの日記: 次の〇〇ミニを考える(スラド国民投票用) 41

日記 by akiraani

3DO Realミニ
PC-FXミニ
MSXミニ
レーザーアクティブミニ
プレイディアミニ
ピピンアットマークミニ
FM TOWNS マーティーミニ

オチ選択肢が難しいな。
アタリ・リンクスミニとか?

個人的にはルナドン2同梱のPC-FXミニが欲しい。

13931861 journal
日記

akiraaniの日記: 本日のねためも

日記 by akiraani

裁断しないドキュメントスキャナー「Aura」、クラウドファンディングで人気を集める(ITmedia)
 何かと思えば、SV600の安かろう悪かろう版か……。SV600、後継機やらモデルチェンジ版が出てないところを見ると、やっぱそこまで売れてないんだろうな。

2019年夏開始の新作アニメ一覧(GIGAZINE)
 もうそんな季節かぁ……。ざっと見た感じ、個人的注目作はないか。ニコアニでやってるやつをつまみ見しますかね。

2020年のGWコミケは5月2日~5日の4日間開催に(ITmedia)
 C96からそうなんだけど、企業ブースが事実上隔離されてしまっているのがねぇ……。個人サークルでサークル参加していると企業には行けませんってのと同義なんだよなあ。まあ、その分4日間開催なんだから他の日に行けばいいんだけど。

インスタント麺がレンジで“油そば化”! ごま油と酢で作るヤミツキレシピが最高にうまい(ITmedia)
 そうめんとかでこれやろうとすると、いったんお湯沸かす必要があるんだけど、袋麺なら水からでもOkなんだよね。あと、調味料の使用量が少ないのが地味にポイント高い。

13931550 journal
日記

akiraaniの日記: シンギュラリティの先にあるディストピアを妄想する 4

日記 by akiraani

解放主義社会と仕事をしなくてもいい国 の続き

単純に人間様よりもAIの方が賢くなってしまった社会で、貧富の格差が極大まで広がるだろうと考えられている。
まあ、資本論の世界のままだとその通りだろう。AIは文句を言わない労働者。金のあるやつがより良いAIを手に入れてより金を集めるだろう。運の要素がないモノポリーみたいなものである。
もちろんそれで社会が回るわけはないので、社会システム自体が変容するだろう。

結局のところAI能力が労働力になるわけなので、個人が使役できるAIに制限を設けるのが一番手っ取り早い対処法だろうと思う。
AI管理資格が整備され、より上位の資格を持っているほど、能力の高いAIを使役することができる。
たくさんのAIを使役したければ、管理資格を持った人間と契約し、それなりの給与を払う。

この世界では、人間が受ける教育はすべてAIの育成、管理にかかわるものになるだろう。人は戸籍と引き換えに国から与えられる自分専用のAIを持ち、AI育成のスキルを学校で学び、資格を取って自分のAIが行使できる権限を増やす。
自分専用のAIは究極の個人認証システムでもある。公的な手続きは自分専用のAIに指示すれば即座に完了する。
また、教師でもある。AIには最初から義務教育を施してくれる機能を持っていることだろう。もはや勉学のために学校に通う必要はない。AI資格取得に必要なカリキュラムも、本人の希望に沿って手配してくれることだろう。

……ううむ、ディストピアになるかと思ったら、案外バラ色かもしれない。

13931052 journal
日記

akiraaniの日記: 本日のねためも 5

日記 by akiraani

Microsoftがデュアルスクリーンの折り畳み式Surfaceデバイス「Centaurus」の社内デモを実施、6カ月以内に発売か(GIGAZINE)
 噂だけか。結局外部には具体的にどんなものか公開されてないっぽいな。ただ、ものがあることが分かっただけでもニュースではあるんだけど、もうちょっと具体的な情報が欲しいなぁ。

“そうめん”を電子レンジでゆでるレシピが夏にうれしい 猛暑のキッチンから解放されるぞ(ITmedia)
 そうめんならお湯に浸すだけである程度柔らかくなるから、最初はそうめんいれずお湯を沸かして、かき混ぜてから再加熱するわけか。水の状態でそうめん入れちゃうと束がくっついてうまくゆであがらなくなるんだよな。

妖精が住んでそう! 鑑賞目的できのこを育てる「きのこリウム」がファンタジックで素敵(ITmedia)
 観賞用のキノコか。一般的な花とかに比べると格段に難易度は高そうだけど、それだけにホビーとしておもしろそうだね。

楽天とJR東日本、キャッシュレス化で連携 楽天ペイ内でSuica発行・チャージ、鉄道・バスに乗れる(ITmedia)

iPhoneなどiOS端末は今後検討するとのことです。

 まあ、検討だけならできるだろうけど、iOS端末じゃこの手の外部決済は無理じゃね? ApplePay以外を認めるは思えないんだよなぁ……。

TSUKUMO、“SmileBASIC専用”キーボードセットを発売(ITmedia)
 を、ようやく発売か。買わねば。

遺伝子組み換え作物を受け入れさせるには「安全性」ではなく「利点」を訴えることが効果的(GIGAZINE)
 まあ、そりゃそうだろとしか……。デメリットがないことを証明したところで実績がないものを採用するわけがない。採用するメリットを主張しないとダメに決まってるじゃないか。まあ、当たり前の事実を統計的に証明した、ということ自体は決して無意味ではないんだけど。

「通勤ラッシュの自由席」をメルカリで転売、まさかの発想に疑問の声 広報「禁止された出品物に当たる」(ITmedia)

メルカリ広報部に取材したところ、今回の出品物は規約違反に当たるとのこと。公式サイトで「禁止されている出品物」に記している「物品ではないもの」(本来自らが行うべき行為の他者による代行)や「手元にないもの」に該当するといいます。

 うむ、そのものずばりだねぇ……。ワーキングシェアの一種と考えると、メルカリ的には別のシステム提供してるからそっちでやれよという話になるだろうし……。それはそれとして、座席の勝手予約が鉄道会社的にどうなのかは別に確認した方が良いだろうなぁ。普通に考えて、鉄道会社がそんな勝手商売にうんと言うわけがないけど。

「HoloLens 2」が変える会議の「基盤」――生みの親キップマン氏に聞く(ITmedia)

HoloLens 2では、両手合わせて10本の指の動きを認識できる。従来なら、外付けのセンサーを使わねば把握できなかった細かな動きも、ちゃんと本体だけで把握可能になっている。
(中略)
HoloLens 2では、指の動きを認識し、物体を「つかむ」ことができる。そこに本物の物体はないのだが、それに近い感覚でインタラクションできるのである。

 これ、欲しいと思う人はパーソナルホビー領域でも多いだろう。決して安い機械ではないが、専用スタジオを用意することに比べれば安い。Kinect Azureとかも併用すればそこらの会議室が多人数同時モーキャプ可能なスタジオに仕立て上げることもできるんでない?

YouTubeがまたもやコンテンツガイドラインを変更して至上主義者によるコンテンツ&チャンネルを削除(GIGAZINE)
 マネタイズのメイン手段が広告収入である限り、この手の制限は避けられないだろうね。根本解決したければ、広告還元でコンテンツ集めるのをやめて、有料サブスクリプションモデルでコンテンツを集める方向にかじを切るしかない。まあ、そんなことしたら既存の視聴者のほとんどを切り捨てることになるからやりたくてもできないだろうけど。だからこそドワンゴはニコニコチャンネルをああいう方式にしてるんだろうけど。

カネカ、物議を醸した「育休復帰後に転勤宣告」ツイートに見解 「当社の対応に問題は無い」(ITmedia)
 転勤命令を拒否できる理由にならんから問題はない、というのが企業側の見解だろうな。これ認めたら単身赴任なんて言葉は生まれないし、人情的にどうかおいといてシステムとしては問題なしとするしかないね。終身雇用を維持するのであれば転勤は避けられないというのが一般的な経営者の主張なわけで、これが問題になるのであればほとんどの経営者がアウトだろうね。

「教師の初年度年収を最低650万円に」など「教師の価値」の議論が2020年米大統領選に向け加熱中(GIGAZINE)

アメリカでは教師になるためには一般的に大学の学位が必要であるため、ロザルスキーさんは「どのようにすれば優秀な人間が弁護士(平均年収約1600万円)やエンジニア(平均年収約1000万円)ではなく、教師になってくれるのかが問題」と語り、「教師と比べられるべきは学位を要する他の職業です」と主張しているわけです。

 ごもっともで。これ日本でも該当するよね。年収というか、サービス残業時間を計算に入れた教師の平均時給ってすげぇ低いんじゃないかという気がするよ。地域の最低賃金ぶっちぎってる人も多いだろうなぁ……。

13930902 journal

akiraaniの日記: 解放主義社会と仕事をしなくてもいい国 3

日記 by akiraani

FLCN2の日記: 人工知能学会@新潟に「解放主義社会」なる素敵そうなワードが躍っていたので、軽くぐぐってみた。

ざっくり斜め読みで理解する限り

  1. 社会基盤の維持に必要なありとあらゆる仕事をAIで無人処理して、国有化事業にする。
  2. すべての人は「好きな仕事だけしていればいい公務員」となり、需要とか無関係に仕事をした分だけAIに評価されて国から給与をもらう

みたいな感じだろうか。 仕事をした分だけ給与がもらえるのでモチベーションは失われない、だからBIの弱点克服できる! ということらしい。

これ見て思い出したのがキノの旅に登場した「仕事をしなくてもいい国」の話。 技術が進歩して人間が生産のために働かなくても生活が賄えるので、生きていくだけなら仕事をしなくてもいい。より豊かな生活がしたいなら、働く必要があるが、その国での「労働」という行為はちょっと変わっていて……というお話。 #オチは原作読んでね。まあ、ぐぐれば出てくるけど。

もちろん、キノの旅は8割以上の話がブラックジョークで、この話もそうなのだが、解放社会主義も同レベルのジョークに見える。

まあ、実際問題として、AIが十分に賢くなれば人間は働かなくてよくなるようになるだろう。 そうなったとき、働かなくても生きていけるのなら、人は働かず遊んでいればいいと思うのだ。 現に、不労所得で暮らしている人はすでにいると思うのだけど、その人たちの大半は人生を謳歌しているだけで堕落はしてないだろう。

13930433 journal
人工知能

yasuokaの日記: UDPipe APIのpython3ラッパー

日記 by yasuoka

昨日の日記を読みながら、LINDAT/CLARINのUDPipe API向けpython3ラッパー「UDPipe2UD.py」を書いてみた。Universal Dependenciesのid、form、lemma、upos、xpos、feats、head、deprel、deps、miscを全部格納するようにしたため、ちょっと長くなってしまった。

#! /usr/bin/python3 -i

class UDPipeEntry:
  def __init__(self,result):
    self.result=result
    if "\n" in result:
      t=[]
      for r in result.split("\n"):
        w=UDPipeEntry(r)
        if w.id>0:
          t.append(w)
      for i,w in enumerate(t):
        w.head=w if w.head==0 else t[i+w.head-w.id]
      self.tokens=t
    else:
      w=result.split("\t")
      try:
        w[0],w[6]=int(w[0]),int(w[6])
      except:
        w=[0]*10
      self.id,self.form,self.lemma,self.upos,self.xpos,self.feats,self.head,self.deprel,self.deps,self.misc=w if len(w)==10 else [0]*10
  def __repr__(self):
    return self.result
  def __getitem__(self,item):
    return self.tokens[item]
  def __len__(self):
    return len(self.tokens)
  def browse(self):
    import webbrowser,urllib.parse
    h="http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/kyodokenkyu/ud-kanbun/conllusvg/viewer.svg"
    webbrowser.open(h+"#"+urllib.parse.quote(str(self)))

class UDPipe2UD:
  def __init__(self,lang="ja",option="tokenizer&tagger&parser"):
    self.parseURL="http://lindat.mff.cuni.cz/services/udpipe/api/process?model="+lang+"&"+option
  def __call__(self,sentence):
    import urllib.request,urllib.parse,json
    with urllib.request.urlopen(self.parseURL+"&data="+urllib.parse.quote(sentence)) as r:
      q=r.read()
    return UDPipeEntry(json.loads(q)["result"])

上のプログラムを「UDPipe2UD.py」に保存したら、とりあえず「望遠鏡で泳ぐ彼女を見た」をUDPipe2UDで係り受け解析してみよう。

% python3 -i UDPipe2UD.py
>>> ja=UDPipe2UD(lang="ja")
>>> s=ja("望遠鏡で泳ぐ彼女を見た")
>>> s.browse()
>>> print(s)
# newdoc
# newpar
# sent_id = 1
# text = 望遠鏡で泳ぐ彼女を見た
1    望遠鏡    望遠鏡    NOUN    NN    _    3    obl    _    SpaceAfter=No
2    で    で    ADP    PS    _    1    case    _    SpaceAfter=No
3    泳ぐ    泳ぐ    VERB    VV    _    4    acl    _    SpaceAfter=No
4    彼女    彼女    PRON    NP    _    6    obj    _    SpaceAfter=No
5    を    を    ADP    PS    _    4    case    _    SpaceAfter=No
6    見    見る    VERB    VV    _    0    root    _    SpaceAfter=No
7    た    た    AUX    AV    _    6    aux    _    SpaceAfter=No

うまく行けば、こんな感じのブラウザが立ち上がってきて、↑のUniversal Dependenciesが出力される。本来「望遠鏡←obl─見」となるべきところ、この出力結果では「望遠鏡←obl─泳ぐ」となってしまっているが、現時点ではUDPipeの解析性能が足りない、ということだろう。

>>> print(s[0])
1    望遠鏡    望遠鏡    NOUN    NN    _    3    obl    _    SpaceAfter=No
>>> print(s[0].lemma)
望遠鏡
>>> print(s[2])
3    泳ぐ    泳ぐ    VERB    VV    _    4    acl    _    SpaceAfter=No
>>> print(s[2].upos)
VERB
>>> print(s[2].head)
4    彼女    彼女    PRON    NP    _    6    obj    _    SpaceAfter=No
>>> print(s[2].head.head)
6    見    見る    VERB    VV    _    0    root    _    SpaceAfter=No

なお、この「UDPipe2UD.py」は、他の言語にも対応している。英語なら

>>> en=UDPipe2UD(lang="en")
>>> s=en("He sat down with smiling face")
>>> s.browse()
>>> print(s)

で、古典中国語(漢文)なら

>>> lzh=UDPipe2UD(lang="lzh",option="tokenizer=presegmented&tagger&parser")
>>> s=lzh("不入虎穴不得虎子")
>>> s.browse()
>>> print(s)

で、それぞれ動作するはずである。ぜひ試してみてほしい。

13929635 journal
人工知能

yasuokaの日記: COTOHA APIのUniversal Dependencies向けpython3ラッパー

日記 by yasuoka

一昨昨日の日記で、私(安岡孝一)は書いた。

せめてCOTOHA APIも、ちゃんとUniversal Dependencies v2対応してくれないかなぁ。

『自然言語処理のためにMeCabを入れるのに疲れたのでCOTOHA APIを使った』を横目に見つつ、私なりにあれこれ考えてみて、COTOHA API構文解析v1のUniversal Dependencies v2向けpython3ラッパー「Cotoha2UD.py」を書いてみた。UPOSへの変換を、ある程度ちゃんとしようとしたら、思ったより長くなってしまった。

#! /usr/bin/python3 -i

class CotohaEntry:
  def __init__(self,response):
    import json
    self.response=response
    self.result=json.loads(response)["result"]
    self.tokens=[]
    for b in self.result:
      for w in b["tokens"]:
        w["xpos"]=w["pos"] if w["features"]==[] else w["pos"]+"["+",".join(w["features"])+"]"
        w["feats"]="_"
        w["head"]=w
        w["deprel"]="root"
        w["deps"]="_"
        w["misc"]="SpaceAfter=No"
        self.tokens.insert(w["id"],w)
    for w in self.tokens:
      if "dependency_labels" in w:
        for r in w["dependency_labels"]:
          t=self.tokens[r["token_id"]]
          t["head"]=w
          if r["label"]=="neg":
            t["deprel"]="aux"
            t["feats"]="Polarity=Neg"
          else:
            t["deprel"]=r["label"].replace("dobj","obj").replace("name","flat").replace("pass",":pass")
    p={ "名詞接尾辞":"NOUN", "冠名詞":"NOUN", "補助名詞":"NOUN",
        "動詞語幹": "VERB",
        "冠動詞":"ADV", "冠形容詞":"ADV", "連用詞":"ADV",
        "形容詞語幹":"ADJ",
        "連体詞":"DET",
        "接続詞":"CCONJ",
        "独立詞":"INTJ",
        "括弧":"PUNCT", "句点":"PUNCT", "読点":"PUNCT", "空白":"PUNCT",
        "Symbol":"SYM",
        "Number":"NUM" }
    for w in self.tokens:
      if w["pos"]=="名詞":
        w["upos"]="NOUN"
        if "代名詞" in w["xpos"] or "指示" in w["xpos"]:
          w["upos"]="PRON"
        if "固有" in w["xpos"]:
          w["upos"]="PROPN"
      else:
        w["upos"]=p[w["pos"]] if w["pos"] in p else "PART"
      if w["deprel"]=="case":
        w["upos"]="ADP"
      elif w["deprel"]=="cop" or w["deprel"].startswith("aux"):
        w["upos"]="AUX"
  def __repr__(self):
    return "".join("\t".join([str(t["id"]+1),t["form"],t["lemma"],t["upos"],t["xpos"],t["feats"],str(0 if t["head"] is t else t["head"]["id"]+1),t["deprel"],t["deps"],t["misc"]])+"\n" for t in self.tokens)
  def browse(self):
    import webbrowser,urllib.parse
    h="http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/kyodokenkyu/ud-kanbun/conllusvg/viewer.svg"
    webbrowser.open(h+"#"+urllib.parse.quote(str(self)))

class Cotoha2UD:
  def __init__(self,accessToken):
    self.parseURL="https://api.ce-cotoha.com/api/dev/nlp/v1/parse"
    self.accessToken=accessToken
  def __call__(self,sentence):
    import urllib.request,json
    h={ "Content-Type":"application/json;charset=UTF-8",
        "Authorization":"Bearer "+self.accessToken }
    d={ "sentence":sentence }
    u=urllib.request.Request(self.parseURL,json.dumps(d).encode(),h)
    with urllib.request.urlopen(u) as r:
      q=r.read()
    return CotohaEntry(q)

上のプログラムを「Cotoha2UD.py」に保存したら、ちょっと面倒くさい手順で「アクセストークン」を取得する。そこまでが出来たら、とりあえず「望遠鏡で泳ぐ彼女をみた」を、Cotoha2UDで係り受け解析してみよう。

% python3 -i Cotoha2UD.py
>>> ja=Cotoha2UD(accessToken="アクセストークン")
>>> s=ja("望遠鏡で泳ぐ彼女を見た")
>>> s.browse()
>>> print(s)
1    望遠鏡    望遠鏡    NOUN    名詞    _    3    nmod    _    SpaceAfter=No
2    で    で    ADP    格助詞[連用]    _    1    case    _    SpaceAfter=No
3    泳    泳ぐ    VERB    動詞語幹[G]    _    5    amod    _    SpaceAfter=No
4    ぐ    ぐ    AUX    動詞接尾辞[連体]    _    3    aux    _    SpaceAfter=No
5    彼女    彼女    PRON    名詞[代名詞]    _    7    obj    _    SpaceAfter=No
6    を    を    ADP    格助詞[連用]    _    5    case    _    SpaceAfter=No
7    見    見る    VERB    動詞語幹[A]    _    0    root    _    SpaceAfter=No
8    た    た    AUX    動詞接尾辞[終止]    _    7    aux    _    SpaceAfter=No

うまく行けば、こんな感じのブラウザが立ち上がってきて、↑のUniversal Dependenciesが出力される。本来「望遠鏡←obl─見」となるべきところ、この出力結果では「望遠鏡←nmod─泳」となってしまっているが、これはCOTOHA APIが解析をミスっているためなので、私としてはどうにもならない。うーん、COTOHA APIは「アクセストークン」が手間だし、1日1000回の制限があるし、やっぱりUDPipe APIの方が楽かなぁ…。

13928858 journal
人工知能

yasuokaの日記: UDPipeの古典中国語モデルがリリース

日記 by yasuoka

UDPipe 1.2が古典中国語(漢文)をサポートした、との御連絡をいただいた。Universal Dependencies 2.4の「四書」を学習させたモデルなのだが、「文切り」の性能が38.9%までしか上がらなかったので、あくまで「単語切り」「品詞付与」「係り受け」に限定した方がいいだろう、とのことである。LINDAT/CLARINのサーバAPIにも実装されたので、ちょっと使ってみよう。

% python3
>>> import urllib.parse,urllib.request,json
>>> url="http://lindat.mff.cuni.cz/services/udpipe/api/process?model=lzh&tokenizer=presegmented&tagger&parser"
>>> s="不入虎穴不得虎子"
>>> with urllib.request.urlopen(url+"&data="+urllib.parse.quote(s)) as r:
...   q=r.read()
...
>>> print(json.loads(q)["result"])
# newdoc
# newpar
# sent_id = 1
# text = 不入虎穴不得虎子
1    不    不    ADV    v,副詞,否定,無界    Polarity=Neg    2    advmod    _    SpaceAfter=No
2    入    入    VERB    v,動詞,行為,移動    _    6    advcl    _    SpaceAfter=No
3    虎    虎    NOUN    n,名詞,主体,動物    _    2    obj    _    SpaceAfter=No
4    穴    穴    NOUN    n,名詞,固定物,地形    Case=Loc    3    flat    _    SpaceAfter=No
5    不    不    ADV    v,副詞,否定,無界    Polarity=Neg    6    advmod    _    SpaceAfter=No
6    得    得    VERB    v,動詞,行為,得失    _    0    root    _    SpaceAfter=No
7    虎    虎    NOUN    n,名詞,主体,動物    _    6    obj    _    SpaceAfter=No
8    子    子    NOUN    n,名詞,人,関係    _    7    conj    _    SpaceAfter=No

SVGで可視化すると、こんな感じ。「入らずんば」のadvclは正解しているが、残念ながら「虎←nmod─穴」と「虎←nmod─子」が読めておらず、漢文における名詞の連続を、まだ、うまく理解できていないようだ。さて、どう鍛えていくのがいいかな…。

13928007 journal
日記

akiraaniの日記: 暁の軌跡プレイ記録:花嫁エリィ

日記 by akiraani

イベント支援チケットにストックがあったのでとりました。チェシャ猫・リーシャ以来なので1か月とちょっとくらい?

一番大きいのは開幕CPブースト効果が50→80になったこと。一般ダンジョンの1戦目、戦闘訓練のほとんどでSクラぶっぱが可能になり、デイリー巡回時短が期待できるというのが取った理由。
ATSも持ちキャラの中では一番高いようなので、武器熟練と武器錬成を進めることにする。メディカルクォーツも適当につけているだけなので、ちゃんとライン効果出るように調整しますか。今週末のアンゼリカイベダンや塔終盤で戦力として出番がありそうだし。

ここんとこの不思議の国の住人を名乗るゾンビに比べると対プレイヤーでの凶悪さはないけど、武術で初手Sクラが飛んでくるのはそこそこ脅威なので、手に入れやすいこともあってそれなりに増殖が予想される。まあ、武術では初手Sクラで全滅は撤退するより面倒がなくていいのである意味歓迎。

だれでも推薦状を使い切ったけど、イベント支援チケットがまだ50連分くらいあるので、残BCと合わせれば万一来週メンテでほしい新キャラがきてもなんとか取れるはず。

追記:アンゼリカダンジョン、花嫁エリィがいるだけでずいぶん楽になった。煉獄でも先輩のゾンビはがしが安定する。
あと、塔でもいないとクリアできないステージが複数……。自身限定ながらホーリーバレット・EXでゾンビがつけられるので、ハロノエと組み合わせれば事実上の無限再生が可能になる上に、ゾンビはつかないが離脱した味方が起きるので持久戦でもじり貧にならずに済むのは大きかった。

13927963 journal
人工知能

yasuokaの日記: NLP-Cubeで読む『吾輩は猫である』

日記 by yasuoka

AdobeのNLP-Cube 0.1.0.7がリリースされた、との御連絡をいただいた。とりあえず、pip3とpython3で、日本語モデル1.1も含め、インストール。

% pip3 install nlpcube==0.1.0.7
% python3
>>> from cube.api import Cube
>>> Cube().load("ja",1.1)
>>> quit()

今回のリリースの目玉は、Universal Dependenciesの出力回りの改善で、解析性能とかは改善されてない。試しに、言語処理100本ノック2015の『吾輩は猫である』から「ヴァイオリンを始める」文をNLP-Cubeで探してみよう。

% python3
>>> from cube.api import Cube
>>> ja=Cube()
>>> ja.load("ja")
>>> import urllib.request
>>> with urllib.request.urlopen("http://www.cl.ecei.tohoku.ac.jp/nlp100/data/neko.txt") as r:
...   q=r.read()
...
>>> u=ja(q.decode("utf-8"))
>>> for s in u:
...   f=False
...   for w in s:
...     if w.lemma=="ヴァイオリン" and w.label=="obj":
...       if s[w.head-1].lemma=="始める":
...         f=True
...   if f:
...     print("".join(str(w)+"\n" for w in s))
...
1    「    「    PUNCT    _    _    2    punct    _    SpaceAfter=No
2    君    君    PRON    _    _    12    nsubj    _    SpaceAfter=No
3    は    は    ADP    _    _    2    case    _    SpaceAfter=No
4    ヴァイオリン    ヴァイオリン    NOUN    _    _    9    obj    _    SpaceAfter=No
5    を    を    ADP    _    _    4    case    _    SpaceAfter=No
6    いつ    いつ    NOUN    _    _    7    compound    _    SpaceAfter=No
7    頃    頃    NOUN    _    _    9    obl    _    SpaceAfter=No
8    から    から    ADP    _    _    7    case    _    SpaceAfter=No
9    始め    始める    VERB    _    _    12    acl    _    SpaceAfter=No
10    た    た    AUX    _    _    9    aux    _    SpaceAfter=No
11    の    の    PART    _    _    9    case    _    SpaceAfter=No
12    かい    かい    AUX    _    _    0    root    _    SpaceAfter=No
13    。    。    PUNCT    _    _    12    punct    _    SpaceAfter=No

SVGで可視化するとこんな感じ。「君←nsubj」の係り受けリンクが「始め」じゃなくて「かい」から出ているのはイラっとくるものの、「ヴァイオリンを始める」がうまく検索できている。ただ、私(安岡孝一)の見る限り、日本語の解析性能においては、現状ではNLP-CubeよりGiNZAの方が上である。このあたり、「望遠鏡で泳ぐ彼女を見た」などを解析して、実際に確かめてみてほしい。

typodupeerror

人生unstable -- あるハッカー

読み込み中...