はじめに
最近、「ぽんほんぼんの歌」という子どもが単位を覚える歌を聞きました(日本語で1本、2本、3本・・・の単位の「本」の呼び方を楽しくリズミカルに覚える歌です)。日本語を母国語としている大人にとっては意識しないことですが、子どもや外国人にとっては日本語というのは大変そうだ、と改めて感じました。単位の呼び方はもとより漢字、カタカタ、ひらがながあり、同じ言葉でも複数の書き方があります(「子ども」、「こども」と「子供」など)。
日本語は子どもや外国人だけでなくシステムに関わる人間にも非常にやっかいです。上記の例だとシステムで「子ども」という単語を使って検索したときに「こども」も「子供」もヒットさせたいものです。また、「画面がでない」で検索して「画面」と「でない」でヒットさせたいなど、テキスト言語処理の複雑さに関しては枚挙に暇がありません。
本記事ではHANAにおけるテキスト検索でのナレッジ管理効率化について解説します。
なお本記事は、下記シリーズ記事の一部で、他記事も参照されることをお勧めします。
第1回Tech JAMリプレイ:統合プラットフォームとしてのHANA開発(SAPUI5, OData, PAL, HANA View)
第2回Tech JAMリプレイ:HANAテキスト検索でのナレッジ管理効率化【本記事】
第3回Tech JAMリプレイ:SAPUI5 SmartTableを使った高度な一覧表示
第4回 Tech JAMリプレイ:HANA PALを使った将来予測
第5回 Tech JAMリプレイ:HANAとLumira Desktopでの再発見
SAPアプリケーションにおけるテキスト検索
SAP ERPを導入されているユーザでテキスト検索について悩まれたことがある人は多いのではないでしょうか。せっかく基幹システムとして正としている得意先マスタがあるのに定性的情報を保存しても検索できない、などです。かくいう筆者も同様に悩みました・・・
そんなSAPユーザのためにTRexというソリューションがあります。SAPのDB上のテキスト情報を取り込み、言語固有のあいまい検索を可能にしてくれるソリューションです。このソリューションの欠点はテキストコンパイル処理にある程度時間がかかることでした。そのため、使用する場合には分析システム(BWなど)への連携のように夜間に日次で連携することが多いと思います。リアルタイムでのテキスト検索が必要なので他システムで実現した、というプロジェクトも多いと思います。
TRexと比べて、HANAではリアルタイム処理を目指した統合プラットフォームとしてテキスト検索が非常に進化しています。
HANAでのテキスト検索
前記事の動画デモでは「債権自動消込」で検索すると「債権自動消し込み」という言葉もヒットするようにしています(下図参照)。
このような日本語固有のあいまい検索を可能にしている点は非常に素晴らしいです(今回は同義語辞書を設定していません)。 テーブル定義は下図のように"SearchIndex"と指定しているだけで、テーブル更新時に自動でインデックスの生成をしてくれます。TRexの設定手順と比べると非常に簡素になりました。
今回は使用していませんが、検索したときのスコア(検索用語との関連度の高さ)を表示したり、Linguistic Search※を使ったり、同義語辞書を設定したりすることも可能です。テキストインデックスの作成、多彩な検索がリアルタイムで可能な点がHANAの大きな特長です。
Text Analysis with SAP HANA Overview Videoが概要をつかむのにわかりやすいです。
※Linguistic Searchは「画面がでない」のような自然文で検索する方法です。
さいごに
多くのシステムではテキスト検索は部分一致検索しかできないことが多いですが、HANAでは統合プラットフォームとして様々な言語での高度なテキスト検索が可能です。また、HANAの特徴でもあるインメモリ高速処理にによりリアルタイムでのテキスト検索が実現できます。
例えば、今までSAP ERP上で管理していた得意先マスタ、品目マスタ等基幹情報に定性的なナレッジを統合することで、ワンストップでの効率的なナレッジ管理をすることも可能です。SAP社が提唱するRun Simpleはこういった点にも体現されているのだと感じます。
- カテゴリ: S/4HANA
この記事に関するサービスのご紹介
導入/移行(プロフェッショナル)サービス
プロフェッショナルサービスでは主にSAPシステムの導入や移行、それに伴うテクニカルな支援を行います。ERPやS/4 HANA、SolManといった様々なSAP製品の新規導入、クラウドを含む様々なプラットフォームへのSAPシステムの最適な移行、保守切れに伴うバージョンアップ・パッチ適用等の作業だけでなく、パラメータ設計、パフォーマンスチューニング、導入・移行計画支援等についても対応いたします。
詳細はこちら