はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

NYPDではWindows10Mobileが採用されたようです。

www.digitaltrends.com

アメリカでは、Android 65.2%、iOS 30.9%、Windows 10 Mobile 2.3%というシェアのようですね。

でも、前者2つではなくて、Windows 10 MobileであるLumia 830とLumia 640 XLがニューヨーク市警(NYPD)に採用されたようです。

理由は、セキュリティとリモート管理。

 

実際、弊社でもUWPアプリを発売している関係でスマホでもWindows 10 Mobileを選択するお客様がいらっしゃいます。Android版やiOS版もあるのにね。

お聞きしてみると、やはりセキュリティと管理。特に自社内でWindowsを使っていてきちんと管理(日本の大企業の大部分はきっとそう)しているところでは喜ばれます。

アプリが少ない?Officeと弊社アプリとOutlookがあればよいというのが業務端末の特徴ですね。BYOD(もうもっているiPhoneでやりたいみたいな)ではなく会社支給とかなら選択肢として引き合いがあります。

北米以外に新たに6か国向けにHoloLensのプレオーダーが始まりました

https://blogs.windows.com/devices/2016/10/12/microsoft-hololens-welcomes-six-new-countries-to-the-world-of-mixed-reality/

 

  1. Australia
  2. Ireland
  3. France
  4. Germany
  5. New Zealand
  6. United Kingdom

 

アジア圏はまだないのですが、ちょっと注目したいのが英語圏以外の国が入っているところ。

いままで、HoloLensは言語追加がなかったけれど、これで言語追加できるようになるのかな。

候補に上記以外の言語圏も含まれているといいんだけどねー。

無題

おいしい食材、旬の食材を探してきて、それを組み合わせて価値ある料理を作る。

アプリ開発というのは実はそういったものなのかもしれない。

 

もし、フルコースの料理じゃなくて、シンプルな一皿、しかも一見すると食材に対して何も仕事をしていないように見える一皿があったときに人はどのような反応を示すだろう。

食べてみると、「この食材とこの食材からこの味の領事になるんですか!」そう言ってもらえる料理。

 

こういった料理をだされたときに、

一目見だけで「これ、すごいね。いや、もう匂いを嗅いだだけですごいと思うよ」という同じ料理人もいたりするだろう。

実際に遠くから食べに来て「また、食べに来ますね」と次回予約をしていく人もいるだろう。

 

そうしたなか、フルコースこそ料理。料理に食材があることを忘れ、料理されたものからどれだけの料理工程や腕が必要かが類推できないと価値が見いだせない人たちも少数いる。

なぜか、もともと料理なんてしないレストランオーナーとかではなく、料理をしなくなった経営だけが楽しいレストランマネージャー、そんな料理って何?って忘れてしまった人たちには食べもせずに

「なんでこんな食材をそのままだしているだけなのにこの値段なんだ。これは誰でも作れるし、プロじゃなくても作れる。タダでいいだろう。」

と言い放つ人が多いように思える。

LUISが日本語対応したよ

2016/09/15にLUISが日本語対応しました。

https://www.microsoft.com/cognitive-services/en-us/news

LUIS = Language Understanding Intelligent Serviceということで、話し言葉をテキストで入力するとその意味を解析してテキストの要素を認識してくれるサービスが日本語対応しました。

 

早速、LUISを使ってみましょう。C#SDKもありますがまずはWebのエンドポイントから軽く試してみましょう。

 

まずはLUISのWebサイト(https://www.luis.ai/) からMicrosoftアカウントでログインしましょう。

初回ログインのところでの質問はこんな感じに回答すればOKです。

image

 

新規作成の[+]ボタン、真ん中は[Cortana pre-built apps]ボタン、一番右側は[Start Tutorial]ボタンでチュートリアルを見るためのボタンです。

image

真ん中の[Cortana pre-built apps]ボタンでコルタナの受け答え言語理解モデルを使ってアプリをつくてれます。残念ながら日本語はまだ提供されていません。

しかたがないので、新規作成ボタンで言語理解モデルなしでアプリを作成しましょう。

 

シナリオとして、IoT、Bot、Mobile、Otherなどが選べます。今回はBotを選んでおきます。

また、ドメインもいろいろ選べます。ドメインを指定するのは、同じ言葉でも分野によって意味づけが異なるからです。

  1. Booking & Reference
  2. Business
  3. Comics
  4. Communication
  5. Education
  6. Entertainment
  7. Finance
  8. Gaming
  9. Health & Fitness
  10. Home Automation
  11. Media & Video
  12. Medical
  13. Music & Audio
  14. Navigation & Maps
  15. News & Magazine
  16. Personalization
  17. Productivity
  18. Real Estate
  19. Sceduler
  20. Shopping
  21. Social Network
  22. Sports
  23. Telecom
  24. Tools
  25. Transportation
  26. Translation
  27. Travel & Local
  28. Weather
  29. Other

ここは、Comics、Gaming、Media & Video、Social Networkを選んでみます。たぶん、分野を絞れば絞るほどその分野において的確な意味としてとらえてくれるはずです。どのあたりをターゲットにするのかよく考えて絞り込みましょう。

image

そしてもちろん[Choose Application Culture]には「Japanese」を選択します。

[Add App]ボタンをクリックすればアプリケーションの作成が開始されます。1~2分かかりますが気長に待ちましょう。

 

生成された直後は、こんな感じです。この状態では何もできません。なにかするにはメニュー右端の[Edit]をクリックしてセッティングを行わないとダメなのです。

image

 

Editをクリックしたときに表示される画面はこんな感じ。

image

まずは何も設定せずに[New utterances]に「みなさん、こんにちは。初音ミクです。永遠の16才の電子の歌姫です。」といれてみましょう。

image

その結果は、半角区切りが入って次のように分解されて表示されます。

  • みなさん、
  • こんにちは
  • 初音
  • ミク
  • です
  • 永遠
  • 16才
  • 電子
  • 歌姫
  • です

しかし何も設定していないので、出力はこれだけです。もう一度、同じ文章を入れたら「This utterance has already been labeled. You can make changes to the label, or type in a different utterance.」って表示されます。

この一度入れたものは[Review labels]でも表示できます。

これだけって書きましたけれど、文章を入れてこういったこと=「形態素解析」ができることだけでもすごいですよね。

 

それではLUISに意味を教えていきましょう。

はい。もうわかりましたね。LUISを使えば勝手に意味を抽出してくれるんじゃなくて、言語理解モデルというものが必要なわけです。

 

左端のEntitiesの+を押して[Add a new Entity]で登録してみましょう。

image

「名前」EntitiyはInclude childrenということで「姓」と「名」を子供に定義して作成します。

作成が終わったら左下の[Train]ボタンを押してみましょう。

 

次に[Review labels]でさっき入れた文章を表示し、「初音」をクリックして「姓」、「ミク」をクリックして「名」をEntityとして選びます。

image

それでは試しにこれで何ができるか確認してみましょう。

左下の[Train]ボタンをクリックしてトレーニングをしてから左上の[Publish]ボタンで公開します。

 

Query欄に「初音ミクって誰?」と入れた結果は次のようなJSONで返却されます。

image

 

それでは次にIntentを追加してみましょう。左メニューのIntentの[+]ボタンをクリックして、「GetTopic」という名前で「初音ミクは、永遠の16才の電子の歌姫です。」と登録してみましょう。

image

そしてさっきと同様に「姓」と「名」のEntityを設定して[submit]します。

 

[Train]ボタンを忘れずに押してから[Publish]して、[Update published application]ボタンをクリックしたら、Queryにさっきと同じ質問をいれた結果のJSONは次のように変化しました。

image

このようにEntityはIntentを設定して初めて抽出してくれるのです。

 

これで「初音ミク」って要素が入ったテキストに対しては「GetTopic」という話題を返せばいいという言語理解モデルができあがりました。

 

最後に、英語の意味を少し理解しておきましょう。

Intent:意図、目的

Entity:実体(要は、名という識別に対する実データ)

 

月1万トランザクション(以前は10万トランザクションまでだったけれど9/15に改訂。言語増えたから世界的に使われる量が増えることを見越してかな?)までは無料なのでぜひ使ってみてくださいね。

日本語の言語理解モデルとかがOSSとしてgithubあたりに流通し始めると面白いかもね。

今期アニメ言語理解モデルとか。

Mobile first, Cloud first

トラディショナルジャパニーズカンパニーには、この2つに積極的にかかわりあいたくない人たちがいます。要は自分が変わりたくない、自分の仕事を変えたない。
そして、新しい取り組みを消極的に妨害します。そう、本人は意識していないかもですが妨害してくるのです。
前例がない、事例がない、私を納得させろ。
人は人によって納得させられるものではありません。人は自分の意思により納得するのです。変化したいから発せられたのとそうでないのとは、同じ字面であっても心根は正反対です。
かわりたいから発せられたとき、それは自分ごととして一緒に変わり事を考えるという動きになって行くのです。
そうでないときは、否定するための問いであり逃げるための問いに付き合わされるという消耗戦を勝ち抜かないと前に進みません。

諦めればそこで試合終了ですよ。

まさにこれ。

Windows10Mobileへのデプロイが「Unexpected Error: -1988945906」エラーになったときには?

 

Visual StudioからWindows 10 Mobileにデプロイすると「Unexpected Error: -1988945906」が発生してデプロイできないということがありました。

Windows 10のバージョンは、Windows 10 ver.1501 (OS build 10586.545)。

 

いろいろ調べてみて下記のサービスが自動なのに起動していないと発生するらしいとのことで対応したらできるようになりました。

 

(1)Windows 10を再起動する

(2)ローカルサービスから、Windows Phone IP over USB Transport (IpOverUsbSvc)が起動していなかったら起動する

(3)Visual Studioで該当ソリューションを開く

(4)Windows 10 Mobileを接続してUSB接続のダイアログでOKする

(5)ARM - デバイスを選択して実行。

 

これで無事デプロイできました。