2021年02月04日

CoreMLでテキストを分類するアプリを作る (3)

さらに続きます。
macOS 11.0 Big Surからは、テキスト分類の機能が拡張され、複数の結果を配列で出力する命令が追加されました。つまり、
["晴れ": 0.80, "曇り": 0.12, "雨": 0.01]
のような結果が得られるわけです。
predictedLabelのかわりにpredictedLabelHypothesesという命令を使うのですが、Xcodeにこの命令を記述すると、Big Surが必要だから、そのように記述するか、if文で環境を切り分けるようにと注意されます。今回はif文を使うことを選択すると、自動的にifで区切ってそれらしき記述を組み立ててくれます。親切なEditorですね。
得られたデータを全て表示するために、それぞれの確立を%表示にして付記して、可能性が高い順に並べて表示しましょう。帰ってくる結果が0の場合は処理しないようにswitch ~しておきます。配列を数値にの大きさでソートして、for ~ in ~で要素ごとに回して結果の文字列を組み立てていきます。Swiftは配列の要素の順番が固定されないということなので、ソートした結果をlet ~で定数に入れて固定します(この理解でいいかどうかよくわからない)。文字列の組み立ては同じ変数に追加していくのでvar ~を使います。第1回ではわからなかったletとvarの違いがわかってきました(笑)。
さらに数値の計算、整数への丸め、文字列への変換、改行の記述方法などをググりながら記述していきます。様々なドキュメントを残してくれた先人たちに感謝です。続きを読む
posted by MacLab. at 21:41| Comment(0) | TrackBack(0) | 技術情報