RSSおすすめ記事です

スポンサーリンク

Microsoftが自然言語処理ライブラリをオープンソース化

ニュースAI, Microsoft, プログラム

スポンサーリンク

Microsoftが自然言語処理ライブラリをオープンソース化

1 : 名無しのシステムエンジニアさん 2019/05/17(金) 18:57:39.45 ID:CAP_USER.net

Microsoftは米国時間2019年5月15日、Web検索などで用いるC++をPythonでラップしたライブラリ「SPTAG(Space Partition Tree and Graph)」をGitHubで公開した。公式ブログによれば、SPTAGを利用することで深層学習モデルを利用して、ベクトルと呼ばれる何十億もの情報をミリ秒単位で検索可能となり、より関連性の高い結果を迅速に利用者へ提供できる。同社は一例として、ユーザーが「パリの塔の高さはどれくらい?」と入力した場合、Bingは『Eiffel』を含まなくとも『Tall』を鍵にして、1,063フィート(324メートル)と回答すると説明した。

先の一例からも分かるとおりSPTAGは、BingチームやMSRA(Microsoft Researc Asia)の研究者による成果であり、すでにBingに組み込まれている。Bingのベクトル化は索引付けした1,500億を超える単語や文字、Webページ、メディアなどを含む拡張がなされており、検索時はインデックス付きベクトルのスキャン結果を提示しているという。Microsoftは「メディアと検索データをベクトル化するアイデア自体は目新しくないものの、近年になってBingのような大規模エンジンで実現可能となった」と語り、SPTAGを企業や消費者向けのアプリケーションにおけるビジュアル検索やオーディオ検索での利用を期待している。
https://news.mynavi.jp/article/20190516-824605/


スポンサーリンク

ネットの反応

2 : 名無しのシステムエンジニアさん 2019/05/17(金) 20:01:22.26 ID:gYakxgaT.net
Left Caption

コルタナ、もうめんどくさいから、なんもかんも
やっといてくれ

3 : 名無しのシステムエンジニアさん 2019/05/17(金) 21:07:31.63 ID:wEwDrQJV.net
Left Caption

>>2
人類滅亡シーケンス開始します

4 : 名無しのシステムエンジニアさん 2019/05/17(金) 21:10:23.14 ID:v9HuYMk4.net
Left Caption

自慢できるほどのスキルはもってないが、ソースコードと論文を見た限りではMSでも
平均的な実装と、凡庸なアルゴリズムを使うのだなとの印象を受けた
ソフト大手が人手不足で着手していないニッチ分野のライブラリに絞り
スキルレベルが一定以上の仲間に恵まれたなら、理工系の熟練コーダーなら誰でも足跡は残せるのかもしれない

13 : 名無しのシステムエンジニアさん 2019/05/18(土) 00:22:13.45 ID:BRNcOuv3.net
Left Caption

>>4
このライブラリではないけど.NET系のオープンソースを見る限りMSはホントに平凡で無難なコードを書いてるよ。
誰でも読める。
メンテナンス性とか考えればその方が良いし、だからこそオープンソースにしても恥ずかしくないのだと思う。

Windows周りとかは相当悲惨な歴史的コードも埋もれてる気がする。

15 : 名無しのシステムエンジニアさん 2019/05/18(土) 08:41:33.86 ID:Vd/zlqFP.net
Left Caption

>>13
簡単に見えるコードを書くのが一番難しい。

17 : 名無しのシステムエンジニアさん 2019/05/18(土) 08:51:57.83 ID:+Z9G9NF5.net
Left Caption

>>15

一点付け加えると平均的な実装といっても最低でも5年以上はC++でコーディングしてCSのバックグラウンドがないと平均的なレベルにさえならないから
良く匿名掲示板で現れる半年かじった程度で一人前になったと勘違い・錯覚する連中のレベルとは比較にならない

該当するソースコード(https://github.com/MaggieQi/SPTAG-2 )を読もうとしても、匿名掲示板の自称凄腕では読むことさえできない連中が大半で「簡単」
にさえ見えないのが現実であり、素人に毛が生えた連中が希望に持てる連中は絶望のほうが大きいだろうから「簡単」という表現はミスリードだろう

コードの何たるかを議論したいのであれば、例えばライブラリのレベルとしてはサブ標準であるBoostや標準実装ライブラリのレベルと比較すると、はるかに及ばないレベルであり、
読みにくく汚く、最適化が弱いということだ

20 : 名無しのシステムエンジニアさん 2019/05/18(土) 10:49:17.56 ID:vLcL8r3R.net
Left Caption

>>17
C++2年目くらいなんだけどBoostのソース読んだりして勉強してるつもりになってるんだけどBoostって読み込む価値があるものなの?

23 : 名無しのシステムエンジニアさん 2019/05/18(土) 11:44:14.82 ID:+Z9G9NF5.net
Left Caption

>>20

Boostを読み込んで、同レベルのコードを少し書けるレベルなら(ライブラリ開発者として)中級以上と言えるとは思うが、単にコードを追って読んでいるだけだと退屈であり腕(実装の力量)も上がらないため厳しいだろう
Boostモジュールのコーダーの技量にも差が結構あり、個々に癖もあるためBoost教科書化への反対意見は結構ある

CSの基礎知識がないなら、そもそも正しい実装かのモデルチェックができるだけの技量が足りていないためコンパイラまかせになる傾向がある
よってC++の文法だけが分析の対象となるため、最適化が思い込みによって行われる傾向が強くなり、どうでも良い文法のことで
正しくないだの間違いだのという議論が激しい応酬が行われる傾向があるが、アセンブリなりLLVM中間表現を読めるなら、何が重要で重要でないかの取り捨てができるようになる
その上でキャッシュの最適化、ビットマジック、SIMD/GPGPU/タスク並列化、メタプログラミングというように技量を上げていく途上で誰でも読めるコード自体が不可能ということは分かるようになる

C++二年目ということだが、CSをまだ学んでいないなら、そちらに時間を投資して基礎力をつける方が楽しく有意義であるため、いきなりBoostを読むことは大抵のケースでは悪いアイデアとなる

22 : 名無しのシステムエンジニアさん 2019/05/18(土) 11:26:34.40 ID:IefTYl7/.net
Left Caption

>>20
boost読める技量があるなら、デザインパターンとかオブジェクト指向的設計の勉強した方がいいでしょ

C++のキモは言語理解よりオブジェクト指向的なコードを可読性と、なるべくの拡張性がある状態で記述できるかだから

24 : 名無しのシステムエンジニアさん 2019/05/18(土) 12:14:23.51 ID:+Z9G9NF5.net
Left Caption

>>22

C++の利点はC言語ライブラリとの抜群の相性の良さにあるため、システムプログラミングを拡張し変更修正が容易なコードベースを
開発するニーズに完全に答えることができる(TDD・アジャイルはC言語でもできる)

抑えるべきはオブジェクト指向とジェネリックプログラミング、型推定・型変換、ラムダあたりだ
Boostではコンパイルタイムの計算が重要視されるから、ジェネリックとオブジェクト指向の組み合わせは普通に使われている
TDDのための自動テストのマクロを自前で書いたりする連中も多いからマクロもある程度はできて当然な風潮もある
ジェネリックは最新の規格ほど進化しているため、ライブラリ開発者にとっての比重の重さ(負担の重さ)はジェネリックが一番大きい
よって新規さんがデザインパターンに時間を使いすぎることには反対する
(昔はデザインパターン賛成派だったが、OSSを見てほとんどパターンが使われていない状況から理論よりも実践という観点から、ジェネリックを推したい)

ただ最適化についてはアセンブリ言語が読めず、OS・CPUの知識がないと不毛な傾向(実権もせずこれが早いあれが遅いといった一般論は不毛)
はあるため、文法や言語推奨・ガイドラインを暗記するよりCSの基礎力をつけるほうがはるかに学習効率が良い

11 : 名無しのシステムエンジニアさん 2019/05/17(金) 23:10:22.23 ID:v9HuYMk4.net
Left Caption

○同種のライブラリのソースコードを読んだことも実装したこともないなら分かるわけも無いだろう

12 : 名無しのシステムエンジニアさん 2019/05/17(金) 23:22:17.79 ID:G3zloKnH.net
Left Caption

でもコルタナよりグーグルアシスタントのほうが正確に理解してくれるよね

28 : 名無しのシステムエンジニアさん 2019/05/18(土) 23:56:36.68 ID:zlgxakED.net
Left Caption

ある程度普及したら有償化やろ
無料プログラミングのjavaで懲りたわ

29 : 名無しのシステムエンジニアさん 2019/05/19(日) 00:01:24.44 ID:j3rBw95T.net
Left Caption

自前でやるのあきらめたのね。
でもAzureは使ってほしいということか。

31 : 名無しのシステムエンジニアさん 2019/05/19(日) 00:18:19.11 ID:q6JCkdqT.net
Left Caption

5年も修行しなくちゃ使えないって事は、そもそもC++がクソ言語って事では?

35 : 名無しのシステムエンジニアさん 2019/05/19(日) 05:00:45.45 ID:BZeqNtAU.net
Left Caption

実装は土方とか言ってるの日本だけだよ

土方とか言ってる奴が土方文化を作って日本のITを糞にしてる

プロ野球で試合をするのは土方と言ってるようなもの
野球ができない奴がベンチから選手に野球をさせてるのがガラパゴス日本
日本以外なら野球ができない奴はベンチに入れない

Posted by flac