Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

「第一回SIL勉強会 自然言語処理編」を開催しました

こんにちは、DSOC R&Dグループ研究員の奥田です。一番好きな京都のお土産は阿闍梨餅です。

先日「第一回SIL勉強会 自然言語処理編」という勉強会を京都で主催しましたので、その様子をご紹介致します。

SIL勉強会とは

Sansanでは数年前から京都にオフィスを構えており、画像処理の研究員2名がフルリモートで働いております。昨年この京都オフィスを改装したことをきっかけに、京都での技術者を繋げてコミュニティを活性化していきたいという理念のもと、定期的に勉強会を開催していくことになりました。

勉強会のタイトルに付いているSILとは「Sansan Innovation Lab」の略で、京都の町家を改装して作られた弊社Sansanのオフィスのことです。会場としてそのオフィスの一角を使ったのですが、勉強会の会場が畳というのはなかなか珍しいのではないでしょうか?

f:id:yag_ays:20190130184732j:plain

f:id:yag_ays:20190130164807j:plain

ちなみにオフィスの表はこんな感じです。オフィス感がゼロなため、当日参加された皆様はどこに入り口があるのか戸惑っていらっしゃるようでした……🙇‍♂️。

f:id:yag_ays:20190130183603j:plain

f:id:yag_ays:20190130183050j:plain

今回はその第1回目ということで、自然言語処理というトピックで私を含む4名の方に登壇いただきました。

自然言語処理/機械学習を活用したサービスにおける工夫紹介

株式会社はてなの吉田さん(id:syou6162, @syou6162)から、自身で自然言語処理を用いた機械学習サービスを運用する上での効率化や精度評価のノウハウを紹介いただきました。

吉田さんは自然言語処理の研究畑の出身でありながらMackerelというサーバ監視サービスを開発するエンジニアでもあります。今回は、ご自身で趣味で作られているML NEWSというキュレーションサイトを運用する中で得られた知見を紹介するということで、仕事の話ではなかなか公表することができない具体的な精度や失敗例などを話していただきました。

吉田さんは発表のなかで「いかに自分の時間を無駄にせず効率よくサービスや機械学習モデルを作成するか」という点を強調されていたのが印象的でした。趣味で作成するものだからなるべく労力を減らしたいということでしたが、いかに早く動くものを作り、それを継続的に改善する仕組みを作るかというのは仕事においても共通するものだと感じます。エンジニアとしてサービスを作りながらも機械学習系のアプリケーションを作る吉田さんならではの発表だったと思います。

単語埋め込みに関連した応用事例の紹介

2つ目はSansanの奥田@yag_ays)から、単語埋め込みに関連した2つの論文の紹介をしました。

最近の私の興味として、ある一定のまとまりを持ったフレーズや短い文章についての自然言語処理にとても興味があります。そもそも名刺管理サービスを提供するSansanでは、名刺に書かれている住所や会社名などの自然言語であったりそれを取り巻くデータの中に、文章ほど長くないけれども意味あるまとまりとして人間が認識できるテキストがたくさんあります。そうした領域で単語埋め込みを使った応用例を幾つか調べる中で、1つ目は単語埋め込みを低頻度や複合語などに拡張するA La Carte Embeddingについて、2つ目は教師なしで文章中からキーフレーズを抽出するEmbedRankについて紹介しました。

固有表現抽出に関する論文紹介と固有表現抽出器によるニュースからの企業名抽出の取り組み事例の紹介

同じくSansanのDSOCに所属する高橋から、固有表現抽出に関するサーベイ論文の紹介と、Sansanでの固有表現抽出の活用について発表しました。

固有表現抽出とは、文章中から組織名や人名、日付などの特定の表現を抽出することを指します。身近な例で言えばスマートスピーカーに「30分後に教えて」といったときに、時間を表す「30分」という表現を抽出するというのがこの固有表現抽出に当たります。

個人的には資料8ページの初期のルールベース抽出器のフローチャートがいい味を出していて良かったです。昔の人はこうやって泥臭く頑張っていたんだなと思う一方で、作り込んだルールに勝る統計的機械学習モデルを作るのはなかなか難しいのが現状で、研究の進歩を感じつつも限界をなかなか超えられない複雑な気持ちになります。

逆翻訳を使った機械翻訳の性能改善に関する論文紹介

最後にSasanoさん(@SquirrelYellow)から逆翻訳に関する論文紹介について発表いただきました。

逆翻訳とは、機械翻訳において翻訳先のテキストを翻訳することで、擬似的に増やして翻訳機自体の精度をあげようという試みです。これが機械翻訳の世界では精度を一気に向上させる結果となったのですが、そもそも翻訳の精度を上げるのに別の翻訳機を使うという一見して大丈夫なのかと思うような手法でもあります。その背景や逆翻訳のデータの解釈について論文を紐解きながら紹介いただきました。

発表自体は論文紹介でありながら、随所にSasanoさんの解釈や考察が詰め込まれていた点がとても印象的でした。事実と意見を区別して議論することはとても重要ですし、解釈を説明してくださることで該当分野に疎い私でも発想や考え方など得られるものがありました。逆翻訳で変なデータが作成されるのはその通りなのですが、それが局所的なノイズになることによって言語モデルの汎化性能を向上させているのではないかという考えは目からうろこでした。理論部分はまだ理解しきれていないところが多いので、資料を参考にこれから勉強したいと思います。

終わりに

SILではこれからも勉強会を定期的に開催していきますので、関西圏のエンジニア/研究者の方で興味がある方はご参加いただければと思います。ぜひ町家のオフィスを見に来てください!

Sansan株式会社 - connpass

© Sansan, Inc.