iTunes 12.7から12.6.3へのダウングレード
Macの使用容量削減をググった過程で、過去のiTunesでバックアップされたipaファイルの削除が一つの方法として出てきた。
iTunesを開いて該当の操作をしようとしたが、最新版のiTunesではAppストア、iOSデバイス自体のマネジメント機能?などが削除されたとのこと。
ipaファイルの削除などの操作だけならば、直接ディレクトリを辿って削除すればいいかもしれない。
引き続きiOSデバイスを管理するアプリケーションを利用するのであれば、以下の2通りある模様。
Apple Configurator
を使用。- 現行バージョンは
Apple Configurator 2
でmacOS 10.12.5以上必要な模様。
- 現行バージョンは
- iTunesを特別バージョンの12.6.3にダウングレード。
企業環境向けに12.6.3がダウンロード可能なようなので下記ページ等を参考にダウングレードしてみた。
手順としては以下のような感じ。
- 各種関連ファイルのバックアップ。
- Appleのページより12.6.3のiTunesをダウンロード、インストール。
- 企業環境で iTunes を使って App を配布する - Apple サポート
- ここでiTunesを開いてライブラリが新しいので開けない等のメッセージが出ないのであれば、以下は不要かと思われる。
~/Music/iTunes/
開く。iTunes Library.itl
をリネームしてバックアップ。Previous iTunes Libraries
フォルダから、新し目の.itl
ファイル(バージョン12.6時代の最新版ということだろう)をコピーしてiTunes Library.itl
にリネーム。- iTunesが普通に起動できればOK。
当方で試した限りでは、特に動作に問題はない模様。
将来的に12.6.3が不要になれば、手動でアップグレードするとのこと。
Bracketsが動かない
Mac(OS X El Capitan)で、Brackets 1.10を立ち上げたところ、フリーズした感じで動作しなかったのでググる。
Brackets 1.11にしても同様。
結局のところ、「brackets-shizimily-multiencoding」を「disabled」フォルダに移動して起動したら動作した、とりあえず。
以下のフォルダを、
/Users/<ユーザー名>/Library/Application Support/Brackets/extensions/user/brackets-shizimily-multiencoding
以下のフォルダに退避、起動。
/Users/<ユーザー名>/Library/Application Support/Brackets/extensions/disabled
一応動いた。
参照ページ
英語の自動Transcriptの後処理
機械的に音声からTranscriptを生成した場合、人間が読むテキストとして整えるには句読点の付与、Capitalizeなどの処理が必要になる。
以下、Postprocessing Framework – CMUSphinx Open Source Speech Recognitionを読んだメモ。
必要な処理:
- センテンスに分ける。
- センテンスに分けるのは音声認識の重要な問題で文脈、文法、意味に依存し、統計的に決めるなどの技術が必要。
- 句読点を付与。
- 「. , ! ? : ; “ ”」等あるが難しいので「. ,」位の付与の検討が妥当。
- Capitalization。
- 省略形への置き換え。
- 数値等の一般的な表記への置き換え。
その他:
- 話し言葉はテキスト素材と比べると一般的にあまり組織化されていない。
テストデータ:
言語モデルはgutenberg text database:95%、残りの5%はテキストを使用して構築。
実装:
このプロジェクトはCapitalize、句読点付与された言語モデルがベース。 似た実装はdisambig tool from SRILM(これはcapitalizationだけ)。
訓練データでは、コンマは<COMMA>
、ピリオドは<PERIOD>
に置き換え。センテンスは段落にグループ化されて、始めと終わりを示すセンテンスマーカー<s> </s>
はまれ。
言語モデルは sphinx_lm_convert(あるいは sphinx3_lm_convert)でARPAフォーマットからDMPフォーマットに圧縮されている必要がある。
gutenberg.DMP 言語モデルは適切にフォーマットされていて、プロジェクトの sourceforge の language model download section にある。
CMU Sphinx - Browse /Acoustic and Language Models at SourceForge.net
から [Archive] → [English Gutenberg Postprocessing] をたどって 「gutenberg.DMP」をダウンロード。
使い方:
プロジェクトは下記からダウンロード可能
https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/branches/ppf →以下のURLにリダイレクトされた。 https://svn.code.sf.net/p/cmusphinx/code/branches/ppf/
ダウンロードしてビルドする。
subversionをインストール。
brew install subversion
svnでチェックアウト。
svn co https://svn.code.sf.net/p/cmusphinx/code/branches/ppf/
チェックアウトしたディレクトリに移動。
cd ppf
ant をインストール。
brew install ant
環境変数が設定されているか確認して実行。
ant
テキストの後処理には「postprocess.sh」スクリプトを使用する。
sh ./postprocessing.sh -input_text path_to_file -lm path_to_lm
↑参照ページでは上記のようなコマンドだったが、スクリプトのファイル名とオプション名が異なるようだったので、以下のようなコマンドでいけた。
sh ./postprocess.sh -input_file path_to_file -lm path_to_lm # 「sample.txt」のファイルを言語モデルに「gutenberg.DMP」を指定したコマンド例 sh ./postprocess.sh -input_file sample.txt -lm gutenberg.DMP
言語モデルに「gutenberg.DMP」を用いて、ざっくりと実際に試した感じだと、最初の方のテキストに関しての処理はまあまあだったが、何らかの原因があるのか、途中からのテキストに関しては単に単語をコンマで区切るだけという感じになった。
色々と試してみればそれなりに使えそうだという印象。
参照ページ:
音声ファイルからテキストに変換
たまに音声ファイルからテキストに変換したくなる時があるので、メモ。
英語のTranscript生成が前提。
有料ソフト等を使わずにMacでやる場合、下記のようなやり方があるようだ。
どちらかと言えば「Mac OS Xのテキスト認識」機能の方が精度がいいような気がする。
そして、いずれの場合でも句読点の付与やCapitalizeなどはされないので、別途方法が必要。
コマンドラインでやる場合。
$ brew update $ brew tap watsonbox/cmu-sphinx $ brew install --HEAD watsonbox/cmu-sphinx/cmu-sphinxbase $ brew install --HEAD watsonbox/cmu-sphinx/cmu-pocketsphinx $ pocketsphinx_continuous -infile sample.mp3 > mp3は対応していないのでエラー出る。 $ brew install ffmpeg $ ffmpeg -i sample.mp3 -ar 16000 -ac 1 sample.wav > ffmpegでサンプルレートが16000で1チャンネルのwavファイルに変換 $ pocketsphinx_continuous -infile sample.wav > result.txt $ cat result.txt > hoge hoge...
参考ページ
- Getting started with CMU Sphinx on Mac OS X
- command line - Convert a .mp3 to wav file with mplayer - Super User
- CMUSphinx Tutorial For Developers – CMUSphinx Open Source Speech Recognition
Mac OS Xの機能を使う場合
- Soundflowerをインストール。
- 「音声入力と読み上げ」で「音声入力」を「入」、「拡張音声入力を使用」をオンにして、入力を「Soundflower 2ch」にする。
- Audacityなどの音声再生ソフトで出力を「Soundflower 2ch」にする。
- TextEdit等を開き、上記の音声再生ソフトで任意の音声を再生したら、即座にTextEdit等をアクティブにして「音声入力を開始」(ショートカット:Fnキー2回押す、などを利用)する。
参考ページ
Google音声入力を使う場合
参考ページ
webサービスのデモ
webサービス?だと、以下の様なものもあった。
入力ファイルの整形に使えそうなもの
参考ページ
lessでシンタックスハイライト
lessでシンタックスハイライトされたらいいと思いググった。
方法はいくつかあるみたい。
- Pygments という Python のパッケージの中の pygmentize コマンドラインツールを使う
- GNU Source-highlightを使う
- Vimのマクロをless代わりにする
locate less.sh
でvimのless.shマクロを探す- alias で
less
、またはvless
等の任意のaliasで上記マクロを設定
手間数で言えば、Source-highlightを使用するほうがやりやすそう。
ただ、Source-highlightは少なくとも標準ではOctaveのコードには対応していない模様。
pygmentizeはOctaveのコードにも対応しているようなので、Octaveのコードを見る場合は pygmentizeのコマンドを使用する方法か、vimでOctaveのシンタックスハイライトが効く設定にしてvimのマクロを使うことになるだろうか。
中国語を単語分割
中国語を単語に分割したい。Segmentater? Tokenizer? 形態素解析?
↑webサービスの。β版だけど。
ライブラリ的なやつだと、それなりにありそうだけど、使いたいだけならハードル高いかも。
↑これが比較的手軽に扱えそう。
実行例:
pip install jieba python >>> import jieba >>> seg_list = jieba.cut("我来到北京清华大学", cut_all=True) >>> print("Full Mode: " + "/ ".join(seg_list)) # 全模式 Full Mode: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学 >>> seg_list = jieba.cut("我来到北京清华大学", cut_all=False) >>> print("Default Mode: " + "/ ".join(seg_list)) # 精确模式 Default Mode: 我/ 来到/ 北京/ 清华大学
Cheat Sheetとかさくっと見たい
Cheat Sheet、画面上でサクッとみれたり、作れたらいいと思い、ググった。PDFとか、画像とかだとちょっとアレなので。
Build Cheat Sheets and Share Your Favourites! - Cheatography.com: Cheat Sheets For Every Occasion
↑Cheat Sheet作れたり、他人が作ったのを見れるっぽいWebサービス。 画面左において、縦長でみたいんだけど、なんか横長のが多い?
↑Cheat Sheet作れるっぽいWebサービス。 UI、機能的に微妙だが、一応HTMLとかに書き出せる?
Dash for macOS - API Documentation Browser, Snippet Manager - Kapeli
↑Macでローカルで動くアプリケーション、各種ドキュメント類のブラウザ、スニペット管理ツール。 CheetSheetをみたり、作ったりもできる。 ただ、開発者がAppleともめたようで、MacAppストアから削除されて、独自配布とかで、心情面で積極的には利用しづらい。 でも、アプリケーション自体は便利っぽい。 iOS版は自分でソースダウンロードしてインストールとかひどいことになってる。
Zeal - Offline Documentation Browser
↑DashにインスパイアされたWindows、Linux用アプリケーション。Macでビルドにチャレンジしたページもあったが、それは色々大変らしい。
Velocity - The Documentation and Docset Viewer for Windows
↑DashにインスパイアされたWindows用アプリケーション。 Macでは動かんからなあ。
↑各種ドキュメントのオンラインビューワ。 よさげだけど、Cheat Sheetはみれたり、作れないかな。
機械学習とかAIとかボットとか
気になったページとかをメモ。
Deep LearningとConvolutional Neural Network - Stimulator
ディーブラーニングとかの解説、比較的とっつきやすかった。
25 Chatbot Startups You Should Know – VentureRadar
チャットボットのスタートアップの紹介。いかにして販売等のサポートをするかみたいなのが多い感じ。
What is the best way to learn and write a AI Chat bot? - Quora
AIチャットボット作りたいんだけど何やったらいいの?てきな質問。
【ディープラーニング】10時間でChainerの基本を身につける - あれもPython,これもPython
Chainerでディープラーニングの学習。
Chainerの解説。
対話型AIについての調査記事。
「対話事例から対話モデルを学習することで,対話ベースで観光案内を行うエージェントを構築する」研究。
Chainerで学習した対話用のボットをSlackで使用+Twitterから学習データを取得してファインチューニング - Qiita
やってみた的なやつ。
An awesomely weird conversation between two AI Cleverbots - Shareables
ボット同士の会話。
Building an IBM Watson powered AI Chatbot
Watsonでチャットボット。
MicrosoftのLUIS
MicrosoftのLUISってどんなことができるのか?
Microsoft Cognitive Services - Documentation
Overview
LUISは機械学習のパワーをアプリケーションにもたらす
LUISはデザインされている、簡便にHTTPエンドポイントをデプロイするのに、エンドポイントは自分が送ったセンテンスを受け取って、意図するところと存在するkeyエンティティーで解釈しする。LUISWebインターフェースを使って、インテンションとエンティティーのセットのデザインを、アプレケーションに沿うようにカスタムして、LUISに言語理解システムを構築するプロセスをガイドさせることができる。
LUISを使う利点
人間とコンピュータのインタラクションで難点になるのは、人が何を欲するか理解し、意図に関連した情報の断片を見つけるコンピュータの能力である。たとえば、〜
一度アプリケーションをデプロイしてトラフィックがスタートすると、LUISはアクティブラーニングを使用して、自分を改善する。アクティブラーニングの過程で、LUISは関係が不確かなインタラクションを特定して、インテントとエンティティーに沿ってラベル付けするように求める。・・・