見出し画像

【JKI】018_Categorizing_Notes

【JKI_018】課題を確認

Just KNIME It! (JKI)

今回の挑戦はこちら

問題文をGoogle翻訳し少し加筆して以下に

課題18:メモの分類
レベル:中
 
説明: 機械・医療データの一般的な問題は、メモをカテゴリに関連付けることです。このチャレンジでは、メカニカルノートを正しいカテゴリに分類する工程を自動化します。次に例を示します。

例は訳す必要がないので画像で引用します。

手が込んだ機械学習や自然言語処理モデルの使用について心配する必要はありません。この問題は、合計5つのノード(単純な解答)を使用して適切に処理でき、より洗練された解答には、わずか8つのノード(複雑な解答
)が含まれます。また、100%の精度が得られることを心配する必要はありません。

この補足を読むと8つのノードで洗練された解答を出せるかという挑戦にも取れるので、急に難易度が増した気がしました。

【入力データ2種の読み込み】

入力ファイル2つの格納先:

2つのExcelファイルをExcel Readerでデータ読込します。

今回はダウンロードしたファイルをKNIME workflow (WF) の中のdataフォルダに入れる、私の通常の仕様で設定しました。設定は省略します。

(参考)

結果:

検索語句

検索対象となるメモ:

メカニカルノートとは勝手な推測ですが何かの製品に関しての修理センターでのメモのようなものでしょうか。

【ファンシーにはできないけれど】

Don't worry about using fancy machine learning or natural language processing models.

との補足コメント。私は愚直に文字列検索します。

英語なので検索時に単語の前後に接頭語とか複数形のsとかはつくかなと思うので、ワイルドカードを使って検索します。複数形だと綴りが変わるとかはもうあきらめました。
Fancyな機械学習に任せます。日本での「ファンシー」って言葉のイメージは機械学習と合う気がしなくて面白かったです。

設定:

結果:検索クエリーのリストです

【語句検索ループ】

下図の通り、単語ごとに検索して、ヒットした行はその単語のカテゴリーにしています。

設定画面で編集したところは全て以下に示します。大文字と小文字は区別しないで検索するようにしました。

設定:

【結果を整形】

結果の出力リストにするために、最初にワイルドカードを付けた検索語の文字列を元に戻しました。

設定:

結果:出力リストとなります。

【More Refined Solutionて】

今回の解答だと例えば、“Missing Coating”ってメモにあると“Missing”と”Coating”両方にカテゴライズされる仕様です。まだいろいろ機能的に気になる点はあります。一方で、

a more refined solution involves just 8 nodes

8ノード使ってしまったので回答はここまで。洗練された解答(refined solution)になってるんかな…

WFはKNIME Hubに上げてあります。

ちなみにDeepLだとrefinedは

「瀟洒」ってきょうび聞かねぇな。

茶化さないの。


おまけ:

【JKI_017 感想戦】

前回のJust KNIME It! (JKI)は公式解答とは手法がかなり異なって興味深かったのですが、一番取り上げたいのは最強KNinjaのこの解答。

時系列データの差分を解析する手法も納得ですし、ダッシュボードも視覚的に訴求力があると思いませんか。

Oh, it is the fancy and more refined solution!!

連想したのはこちらのツイートでした。

ダッシュボードを作るデータサイエンティスト?がなにをやっているのかというと、偉い人の「アクティブなユーザの割合を知りたい」という曖昧なオーダを「課金ユーザのうち、30日以内に1回以上ログインしているユーザ」みたいに考えを引き出して具体的な条件へ落とし込んだりするのが仕事です。


記事を読んでいただきありがとうございます。 先人の智慧をお借りしつつ、みなさんに役立つ情報が届けられたらと願っています。 もしサポートいただけるなら、そのお金はKNIMEの無料勉強会の開催資金に充てようと思います。