前回は64通りシュミレーションを綺麗に片づけたので、
今回はようやく次の課題であるEmail Spanの課題processEmail.mに取り組めます。
問題文を読むとポイントは
メンテしなければいけないプログラム;processEmail
メンテしたら出てくるべき回答;
(出典;『Coursera Machine Learning』 By Mr. Andrew Ng)
やる内容;Email Sampleにある単語がvocabulary listにあれば
index情報を付加してWord_indicesに入れる
今まで数字をやってきたけど、どうやって文字を一個一個判別するんだろう?
かなり謎ですが先に進みます。
とりあえず何もせずにex6_spanを実行しました。
すると、
かなり正解に近いものがもうすでにできています。
パッと見、青枠で囲った箇所だけが違うように見えます。
差は「you re 」と「your」です。
オリジナルは「youre」なので「youre」-->「you re」--> (XX)-->「your」と
変化していくようで、私は「you re」--> (XX)-->「your」のこの変化を
プログラムしなければならないようです。(宿題①)
(出典;『Coursera Machine Learning』 By Mr. Andrew Ng)
問題文のヒントからstrcmp(str1,str2)という関数がstringsが同じなら
1を返すという関数なので、これが関係していそうです。
それではprocessEmailの中身を見ていきます。
(出典;『Coursera Machine Learning』 By Mr. Andrew Ng)
問題文中にあった大文字を小文字にする、Emailアドレスはemailladderに
変換するなどのものはすでに設定されていますね。
しかしWord Stemming とRemoval of non-wordsが入っていないですね。
Tokenize Emailにそれが含まれているのか?
これから見ていきます。
(出典;『Coursera Machine Learning』 By Mr. Andrew Ng)
l=0は何を意味するんでしょうか?(宿題②とします)
isemptyが何か分からなかったので調べました。
「Rerurn True」の意味と、「Aが空マトリックスだったら」がわからないので
実験します。
「0」になりました。
どの行にも列にも0がないから空行列ではない、ということで0なんでしょうか。
ということで全要素を0にしてみました。
やはり「0」です。
文字列突っ込んでみます。
「1」になりました。
ansは1か0のようなので、1=True,0=falseなのでしょう。
文字列は1で数字は0になりそうです。
「~」はnot なので、1じゃなく0なら、という条件、
つまり()が数式の時はこの演算を行いなさいという意図ですかね。
まだやる内容に入れてませんし、
******************************************************************************
やる内容;Email Sampleにある単語がvocabulary listにあれば
index情報を付加してWord_indicesに入れる
******************************************************************************
宿題①you re」--> (XX)-->「your」の短縮
宿題②l=0が繰り越しですね。
次回頑張ります。