食料品の相場をまとめて見れる Web アプリの試作

投稿者: | 2017年9月11日

概要

◯◯の値段ってどのくらい?

一人暮らしを始めて慣れない自炊をしないといけなくなった時、

引っ越しで新しい場所に移ってきた時、

「卵の値段はどのくらいだと妥当なんだろう」

「野菜の値段はどのくらいなんだろう」

となると思います。

 

また、普段から買い物している人であっても、

「いつもこのスーパーではこのくらいの値段だけど、本当にこれでいいのだろうか」

と思ったことがあると思います。

 

これらはどれも食料品の相場がはっきりと分からないから生じる疑問です。

では、相場を知るためにはどうすれば良いでしょうか。

 

一般的な方法は、「複数の店を回る」、「複数の店のチラシを比較する」

ですが、本当に私たちが知りたいのは「相場」のはずです。

「相場」という”一つ”のものを知るために、”複数”の店・チラシを見るのは、

正しいようで間違っているような気がします。

 

つまり、食料品の相場が”ひと目”で分かるようなサイト、あるいはアプリがあったら、

わざわざチラシを見比べる必要がなくなり、便利になるはずです。

このような考えから、相場をグラフ化するアプリの試作に取り掛かりました。

食料品相場グラフ(試作版)

ひとまずの試作版として、定期的に食料品の価格情報を収集し、

食料品毎の販売価格帯を、グラフで表示するところまでを実装してみました。→ 食料品相場グラフ(試作版)

ただし、試作版では、店舗情報を収集する地点がかなり限定的になっています。

 

グラフの描画は Plotly を用いているので、インタラクティブにグラフの操作が可能です。

例えば、「卵の相場だけ見たい」、「ほうれん草と小松菜の相場を比べたい」等であれば、

グラフに表示する項目を選択するだけで簡単にできます。

また、商品名や量などの商品の情報もグラフに埋め込まれているので、

マウスカーソルをグラフ上の点に合わせるとその商品の情報が表示されます。

記事:Plotly: 箱ひげ図上の点にホバーテキストを表示する

 

 

 

広告に載るような特売情報に基いてグラフを表示しているので、

安い側の相場を表示していると思って見た方がいいかもしれません。

改良のためのアイデア

現時点では、地点が限定されているので、

情報を取得する地点をより広範囲にするというのも改良の一つです。

 

ところが、現状では一地点での収集についても改良の余地が大きく残っています。

というのも、今はチラシの情報を活用できていないからです。

 

始めのアイデアとしては、地域のチラシ画像を収集して、

チラシ画像から商品情報を認識して、その商品情報を元にグラフを用いて相場を可視化する

というものを考えておりました。

 

ところが、チラシ画像から商品情報を認識するのがかなり困難であったため、

試作版では、テキスト化されている商品情報のみを収集しています。

なので、グラフに反映されていない商品情報が多く残っています。

チラシ画像認識の難しさ

チラシ画像から商品情報を認識するためには、

チラシ画像に含まれる写真と文字を元に、

商品カテゴリと価格を取得することが最低限必要になってきます。

 

ところが、実際にやろうとしてみると、この最低限がなかなか難しいということが分かります。

ここでは、解決の糸口とするために、

チラシ画像を認識する際に難しいと思った点を整理しておきます。

文字が認識できない

チラシを思い浮かべてもらうと分かると思いますが、

チラシは限られたスペースを使って沢山の商品をPRするために、

商品画像と文字が重なりあっています。

この状況で、文字認識(OCR) を行っても、文字を認識することは困難です。

 

そのため、チラシ画像から文字を取り出すための工夫が必要になってきます。

参考文献[1]では、文字に使われている典型的な色を使って、

その色だけを画像から抽出することで、文字情報を取り出す方法や、

似たような高さのオブジェクトが並んだものを文字として取り出す方法が使われています。

 

このような工夫や、細線化などを取り入れることで、

どうにか、いくつかの文字が読めるようにはなったものの、

読めた数は少なく、誤字も含まれてきます。

商品名の誤字はともかくとしても、数字を誤ってしまうと、

全く違う価格で認識されてしまうので、もっと精度が欲しいという状況です。

商品名と価格の対応が難しい

商品名と価格を認識したとしても、

どの価格がどの商品を指しているのかが意外と難しいのです。

 

チラシがきれいに枠で分割されていれば良いのですが、

実際には枠はなく密集して並べられているので、

どこの領域がどの商品の情報に対応しているのかが曖昧になっています。

 

基本的には、対応する商品名と価格は近くに配置されるので、

距離を基準に対応を見つければいいようにも思えます。

しかし、隣り合っている別の商品価格の方が近くにあったりするので、

なかなか単純にはいきません。

 

商品名は左側で価格は右側にあることが多いというのも使えそうですが、

その規則に従わないことも多々あります。

 

さらには、一つの価格が複数の商品に対応することもあります。

「鮭、アジ、・・・ “各 ◯◯円”」という表示です。

これを距離を元に対応を決めていると、後の方は正しくても、

前の方は、別の価格との距離が近くにあったりします。

 

また、商品名が「鮭、アジ、・・・」のように並んでいると、

どこまでが一つの商品なのかいう認識も難しくなります。

全部名詞で分割してしまえばいいじゃんというのは危険で、

「あさりパスタ」は「あさり」と「パスタ」になってしまいます。

まとめ

チラシ画像から商品情報を認識することはかなり難しい課題ですが、

私達、ヒトは簡単にできてしまいます。

改めて、ヒトってすごいなと感じました。

 

ただ、そのヒトは、複数のチラシを見て、

食料品相場グラフのようなものを頭に描いているはずです。

なので、ヒトの代わりにそのグラフを描いて、直接ヒトに見せてあげることができれば、

煩わしさが軽減されることは間違いないと思います。

参考文献

[1] チラシ画像からの商品情報自動抽出-価格認識- (https://www.ieice.org/tokyo/gakusei/kenkyuu/19/pdf/154.pdf)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です