(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】自然言語処理システム、自然言語処理方法、および自然言語処理プログラム
(51)【国際特許分類】
G06F 40/295 20200101AFI20241106BHJP
G06F 40/216 20200101ALI20241106BHJP
G06Q 10/083 20240101ALI20241106BHJP
【FI】
G06F40/295
G06F40/216
G06Q10/083
(21)【出願番号】P 2023026001
(22)【出願日】2023-02-22
【審査請求日】2023-02-22
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100109380
【氏名又は名称】小西 恵
(74)【代理人】
【識別番号】100109036
【氏名又は名称】永岡 重幸
(72)【発明者】
【氏名】田 科
(72)【発明者】
【氏名】オニヤリ ジュリアン
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2002-157553(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20-40/58
G06N 3/00-99/00
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
住所情報を取得する取得部と、
前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定する推定部と、
を有
し、
前記学習モデルはエンコーダと分類器から構成され、
前記推定部は、
前記住所情報を前記エンコーダに入力して、前記住所情報を複数のトークンに分割して各トークンの分散表現を生成し、
前記分散表現を前記分類器に入力して、あらかじめ設定された複数の建物タイプのそれぞれに該当する確率を推定し、
前記確率に基づいて前記建物タイプを推定する、
自然言語処理システム。
【請求項2】
参照住所情報が有する特徴に基づいて前記参照住所情報の建物タイプを識別するための、あらかじめ作成されている所定のルールを用いて、前記住所情報から、前記建物タイプを識別する識別部
と、
前記推定部により推定された前記建物タイプを示す第1の建物タイプと、前記識別部により識別された前記建物タイプを示す第2の建物タイプに基づいて、前記建物タイプを決定する決定部を更に有する、
請求項
1に記載の自然言語処理システム。
【請求項3】
前記第1の建物タイプと前記第2の建物タイプが同じ場合、前記決定部は、前記第1の建物タイプまたは前記第2の建物タイプを、前記建物タイプとして決定する、
請求項
2に記載の自然言語処理システム。
【請求項4】
前記第1の建物タイプと前記第2の建物タイプが取りうる複数の建物タイプにはそれぞれ優先度が設定されており、
前記第1の建物タイプと前記第2の建物タイプが異なる場合、前記決定部は、前記第1の建物タイプと前記第2の建物タイプのうち、前記優先度が高い建物タイプを、前記建物タイプとして決定する、
請求項
2に記載の自然言語処理システム。
【請求項5】
前記第1の建物タイプと前記第2の建物タイプが異なる場合、前記決定部は、前記第2の建物タイプを、前記建物タイプとして決定する、
請求項
2に記載の自然言語処理システム。
【請求項6】
前記第1の建物タイプと前記第2の建物タイプが異なる場合、前記決定部は、操作者による指示された建物タイプを、前記建物タイプとして決定する、
請求項
2に記載の自然言語処理システム。
【請求項7】
前記推定部は、
前記分散表現と前記第2の建物タイプを前記分類器に入力して、あらかじめ設定された複数の建物タイプのそれぞれに該当する確率である第2確率を推定し、
前記第2確率に基づいて前記建物タイプを推定する、
請求項
2に記載の自然言語処理システム。
【請求項8】
前記住所情報が示す住所の位置情報を取得する位置情報取得部を更に有し、
前記推定部は、
前記分散表現と前記位置情報を前記分類器に入力して、あらかじめ設定された複数の建物タイプのそれぞれに該当する確率である第3確率を推定し、
前記第3確率に基づいて前記建物タイプを推定する、
請求項
2に記載の自然言語処理システム。
【請求項9】
前記住所情報が示す住所が属する用途地域、当該住所の最寄り駅、および当該最寄り駅からの当該住所までの距離の少なくともいずれかを、エリア情報として取得するエリア情報取得部を更に有し、
前記推定部は、
前記分散表現と前記エリア情報を前記分類器に入力して、あらかじめ設定された複数の建物タイプのそれぞれに該当する確率である第4確率を推定し、
前記第4確率に基づいて前記建物タイプを推定する、
請求項
2に記載の自然言語処理システム。
【請求項10】
前記学習モデルは、自然言語処理モデルを用いて構成される、
請求項1に記載の自然言語処理システム。
【請求項11】
情報処理装置によって実行される自然言語処理方法であって、
住所情報を取得することと、
前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定すること、
を含
み、
前記学習モデルはエンコーダと分類器から構成され、
前記推定することは、
前記住所情報を前記エンコーダに入力して、前記住所情報を複数のトークンに分割して各トークンの分散表現を生成し、
前記分散表現を前記分類器に入力して、あらかじめ設定された複数の建物タイプのそれぞれに該当する確率を推定し、
前記確率に基づいて前記建物タイプを推定することを含む、
自然言語処理方法。
【請求項12】
自然言語処理をコンピュータに実行させるための自然言語処理プログラムであって、該プログラムは、該コンピュータに、
住所情報を取得する取得処理と、
前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定する推定処理と、を含む処理を実行させるためのものであ
り、
前記学習モデルはエンコーダと分類器から構成され、
前記推定処理は、
前記住所情報を前記エンコーダに入力して、前記住所情報を複数のトークンに分割して各トークンの分散表現を生成し、
前記分散表現を前記分類器に入力して、あらかじめ設定された複数の建物タイプのそれぞれに該当する確率を推定し、
前記確率に基づいて前記建物タイプを推定することを含む、
自然言語処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理システム、自然言語処理方法、および自然言語処理プログラムに関し、特に、住所情報に基づいて当該住所情報に関する情報を推定する技術に関する。
【背景技術】
【0002】
従来、住所情報と学習済みモデルとを用いて、当該住所情報に関する情報を推定する技術が開発されている。例えば、特許文献1には、住所情報と学習済みモデルとを用いて、当該住所情報が偽住所情報か否かを決定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示の技術によれば、住所情報が偽住所情報か否かが決定されることにより、住所情報の信頼性が確保され、物流サービスのサービス実行安全性が向上しうる。一方で、物流サービスの場合、住所情報が示す住所に位置する建物の建物タイプ(例えば、ビルや一軒家等)の情報も、サービス実行安全性に寄与しうる。また、物流サービスに限らず、例えば、同類の建物タイプの建物に居住する複数のユーザが任意のサービスの加入あるいは解約を同時期に行った場合に、その建物タイプを把握することにより、ユーザの行動と建物タイプとの関係を分析でき、更なるサービスの展開に役立ちうる。しかしながら、従来では、住所情報から、学習済みモデルを用いて、当該住所情報が示す住所に位置する建物タイプを推定するための技術は存在しなかった。
【0005】
本発明は上記課題に鑑みてなされたものであり、住所に位置する建物の建物タイプを、学習モデルを用いて推定することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明による自然言語処理システムの一態様は、住所情報を取得する取得部と、前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定する推定部と、を有する。
【0007】
上記課題を解決するために、本発明による自然言語処理方法の一態様は、住所情報を取得する取得ことと、前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定すること、を含む。
【0008】
上記課題を解決するために、本発明による自然言語処理プログラムの一態様は、自然言語処理をコンピュータに実行させるための自然言語処理プログラムであって、該プログラムは、該コンピュータに、住所情報を取得する取得処理と、前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定する推定処理と、を含む処理を実行させるためのものである。
【発明の効果】
【0009】
本発明によれば、住所に位置する建物の建物タイプを、学習モデルを用いて推定することが可能となる。
上記した本発明の目的、態様及び効果並びに上記されなかった本発明の目的、態様及び効果は、当業者であれば添付図面及び請求の範囲の記載を参照することにより下記の発明を実施するための形態から理解できるであろう。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施形態による自然言語処理システムの構成例を示す。
【
図2】
図2は、実施形態による情報処理装置のハードウェア構成例を示す。
【
図3A】
図3Aは、建物タイプ推定モデルを用いた推定手順の一例を示す。
【
図3B】
図3Bは、建物タイプ推定モデルを用いた推定手順の別の例を示す。
【
図3C】
図3Cは、建物タイプ推定モデルを用いた推定手順の別の例を示す。
【
図4】
図4は、住所情報から建物タイプを推定する具体例を示す。
【
図5】
図5は、住所情報により識別される建物タイプの例を示す
【
図6】
図6は、自然言語処理システムにより実行される全体の処理のフローチャートを示す。
【
図7A】
図7Aは、建物タイプ決定処理の第1の例のフローチャートを示す。
【
図7B】
図7Bは、建物タイプ決定処理の第2の例のフローチャートを示す。
【
図7C】
図7Cは、建物タイプ決定処理の第3の例のフローチャートを示す。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。以下に開示される構成要素のうち、同一機能を有するものには同一の符号を付し、その説明を省略する。なお、以下に開示される実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0012】
[自然言語処理システムの構成]
図1に、本実施形態による自然言語処理(Natural Language Processing(NLP))システム10の構成例を示す。
図1に示す自然言語処理システム10は、住所情報取得部100、第1処理部110、第2処理部120、学習処理部130、および建物タイプ決定部140を含んで構成される。
【0013】
自然言語処理システム10は、1つ以上の情報処理装置を用いて構成される。
図1に示す住所情報取得部100、第1処理部110、第2処理部120、学習処理部130、および建物タイプ決定部140は、1つの情報処理装置で構成されてよいし、複数の情報処理装置に分散して構成されてもよい。情報処理装置は、例えば、デスクトップ型のPC(Personal Computer)、ノート型のPC、タブレット、汎用機といったデバイスであってもよい。また、情報処理装置の全てまたは一部は、例えば、クラウドサーバに構築された仮想サーバにおいて実現されてもよい。
【0014】
住所情報取得部100は、住所を含む入力情報を受け付け、住所情報を取得する。例えば、住所情報取得部100は、操作者(ユーザ)による入力情報を受け付け、住所情報を取得する。あるいは、住所情報取得部100は、あらかじめ自然言語処理システム10において設定されている入力情報を、所定のプログラムに従って受け付け、住所情報を取得してもよい。
【0015】
なお、住所情報は、自然言語処理システム10を構成する情報処理装置と相互に通信可能な情報処理装置によって構成される電子商取引システム(電子商取引プラットフォーム)において商取引処理の対象となる商品情報と対応する配送先住所を示してよい。このとき、住所情報取得部100は、ユーザによる住所を含む入力情報の受け付けに代えて、当該電子商取引システムから住所情報を取得してよく、当該電子商取引システムによる住所情報の入力を受け付けてよい。また、このとき、住所情報取得部100は、当該電子商取引システムにおける取引成立を条件として商品と対応する住所情報を取得してよい。
【0016】
本実施形態において、住所情報取得部100は、テキスト情報(文字列)で構成された住所情報を取得するように構成される。そのため、住所情報取得部100は、受け付けた入力情報が住所を表すテキスト情報で構成されている場合は、受け付けた情報自体を、住所情報として取得する。また、受け付けた入力情報が、住所を表すテキスト情報と、住所以外のテキスト情報や画像情報を含んで構成される場合、住所情報取得部100は、受け付けた入力情報から、住所を表すテキスト情報(テキスト部分)を切り出して、住所情報を取得しうる。また、住所情報取得部100は、受け付けた入力情報が音声情報である場合は、受け付けた音声情報からテキスト情報に変換し(すなわち、文字起こしを行い)、当該変換した情報を住所情報として取得する。音声情報からテキスト情報への変換は、既知の音声認識機能等を利用して実行されうる。
【0017】
住所情報取得部100は、取得した住所情報を、第1処理部110と第2処理部120へ出力する。第1処理部110は、住所情報取得部100より入力された住所情報と学習モデルに基づいて、当該住所情報が示す住所に位置する建物の建物タイプを推定するように構成される。一方、第2処理部120は、住所情報取得部100より入力された住所情報から、ルールベースで、当該住所情報が示す住所に位置する建物の建物タイプを識別するように構成される。
【0018】
第1処理部110は、住所情報取得部100より入力された住所情報と学習モデルに基づいて、当該住所情報が示す住所に位置する建物の建物タイプを推定する処理部である。第1処理部110は、建物タイプ推定部111、位置情報取得部112、エリア情報取得部113、および学習モデル記憶部114を含んで構成される。学習モデル記憶部114には、建物タイプ推定モデル115が格納される。建物タイプ推定モデル115は、機械学習のための学習モデルである。
【0019】
建物タイプ推定部111は、建物タイプ推定モデル115を用いて、住所情報取得部100より入力された住所情報が示す住所に位置する建物の建物タイプを推定する。建物タイプ推定モデル115は、住所情報取得部100より入力された住所情報に基づいて、当該住所情報が示す住所に位置する建物の建物タイプを推定(予測)して出力するように構成された学習モデルである。本実施形態では、建物タイプは、「ビジネスビル」、「ユニットビル」、および「家」の3タイプを想定する。「ビジネスビル」は、オフィスを主な用途とする建物であり、事業所や会社のビルを含む。「ユニットビル」は、複数世帯の居住を主な用途とする建物であり、複数の居住区画(個別占有空間)を有するビルやマンションやアパートメント(レジデンス)を含む。「家」は、単独世帯の居住を主な用途とする建物であり、個人宅や一戸建を含む。
【0020】
位置情報取得部112は、住所情報取得部100より入力された住所情報から、当該住所情報が示す住所の位置情報を取得する。例えば、位置情報取得部112は、インターネット上の地図サービスや位置情報サービスを用いて、当該住所に対応する緯度と経度を、位置情報として取得しうる。もしくは、位置情報取得部112は、予め設定された2次元または3次元空間における当該住所に対応する座標を、位置情報として取得してもよい。位置情報は数値情報でありうる。
【0021】
エリア情報取得部113は、住所情報取得部100より入力された住所情報から、当該住所情報が示す住所のエリアに関する情報を、エリア情報として取得する。例えば、エリア情報取得部113は、当該住所が属する用途地域、当該住所の最寄り駅、および当該最寄り駅からの当該住所までの距離の少なくともいずれかを、エリア情報として取得する。当該用途地域は、建築可能な建物の用途等を定めた地域を意味し、例えば、当該住所の地域が、住居系用途地域、商業系用途地域、あるいは工業系用途地域のいずれかであるかを示す。エリア情報取得部113は、当該用途地域を、当該住所を用いて所定のデータベースを検索することにより取得しうる。また、エリア情報取得部113は、当該住所の最寄り駅や、当該最寄り駅からの当該住所までの距離を、インターネット上の地図サービスや位置情報サービスを用いて取得しうる。最寄り駅は、当該住所から所定の距離以内にあるという条件を満たす駅である。当該条件を満たす駅が複数ある場合、すなわち、複数の最寄り駅が存在する場合は、エリア情報取得部113は、当該複数の最寄り駅や、それぞれの最寄り駅から当該住所までの距離を、エリア情報として取得してよい。
【0022】
建物タイプ推定部111は、住所情報に加えて、位置情報取得部112により取得された位置情報と、エリア情報取得部113により取得されたエリア情報の少なくとも一方を用いて、建物タイプを推定するように構成されてよい。建物タイプ推定モデル115、および建物タイプ推定モデル115を用いた推定手順については後述する。建物タイプ推定部111は、推定した建物タイプを、建物タイプ決定部140へ出力する。
【0023】
第2処理部120は、住所情報取得部100より入力された住所情報から、ルールベースで、当該住所情報が示す住所に位置する建物の建物タイプを識別する処理部である。第2処理部120は、建物タイプ識別部121とルール記憶部122を含んで構成される。ルール記憶部122には、建物タイプ識別ルール123が格納される。
【0024】
建物タイプ識別部121は、住所情報取得部100より入力された住所情報を解析し、ルール記憶部122に記憶されている建物タイプ識別ルール123に基づいて、当該住所に位置する建物の建物タイプを識別する。ルールベースでの建物タイプの識別手順については後述する。建物タイプ識別部121は、識別した建物タイプを、建物タイプ決定部140へ出力する。さらに、建物タイプ識別部121は、識別した建物タイプを、第1処理部110へ出力してもよい。
【0025】
学習処理部130は、建物タイプ推定モデル115を学習させる処理部である。学習処理部130は、学習データ取得部131、学習部132、および学習データ記憶部133を含んで構成される。学習データ記憶部133は、学習データ取得部131により取得された学習データが格納される。
【0026】
学習データ取得部131は、建物タイプ推定モデル115を学習させるために必要な学習データ134を取得し、学習データ記憶部133に格納する。本実施形態では、学習データ134は、過去に自然言語処理システム10により取得されたデータと、正解データとしての建物タイプを含む。例えば、学習データ134は、過去に住所情報取得部100により取得された住所情報と、当該住所情報が示す住所に位置する建物の建物タイプの正解データを含む。さらに、学習データ134は、当該住所情報に基づいて、位置情報取得部112により取得された位置情報と、エリア情報取得部113により取得されたエリア情報を含みうる。さらに、学習データ134は、当該住所情報に基づいて、建物タイプ識別部121により識別された建物タイプを含みうる。学習データ取得部131は、学習データ134を、住所情報取得部100,第1処理部110、および第2処理部120から取得してもよいし、操作者(ユーザ)からの入力により取得してもよいし、外部の装置から取得してもよい。学習部132は、学習データ134を用いて建物タイプ推定モデル115を学習させる。
【0027】
建物タイプ決定部140は、第1処理部110の建物タイプ推定部111により推定された建物タイプと、第2処理部120の建物タイプ識別部121により識別された建物タイプに基づいて、最終的な建物タイプを決定する。建物タイプの決定手順については後述する。また、建物タイプ決定部140は、決定した建物タイプを出力するように構成されてよい。
【0028】
[情報処理装置のハードウェア構成]
自然言語処理システム10は、1つ以上の情報処理装置を用いて構成される。
図2は、本実施形態による情報処理装置20のハードウェア構成の一例を示すブロック図である。情報処理装置20は、単一または複数の、あらゆるコンピュータ、モバイルデバイス、または他のいかなる処理プラットフォーム上にも実装することができる。
図2を参照して、情報処理装置20は、単一のコンピュータに実装される例が示されているが、本実施形態による情報処理装置20は、複数のコンピュータを含むコンピュータシステムに実装されてよい。複数のコンピュータは、有線または無線のネットワークにより相互通信可能に接続されてよい。
【0029】
図2に示すように、情報処理装置20は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、HDD(Hard Disk Drive)24と、入力部25と、表示部26と、通信I/F27と、システムバス28とを備えてよい。情報処理装置20はまた、外部メモリを備えてよい。
CPU21は、情報処理装置20における動作を統括的に制御するものであり、データ伝送路であるシステムバス28を介して、各構成部(22~27)を制御する。
【0030】
ROM22は、CPU21が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、HDD24、SSD(Solid State Drive)等の不揮発性メモリや着脱可能な記憶媒体(不図示)等の外部メモリに記憶されていてもよい。
RAM23は、揮発性メモリであり、CPU21の主メモリ、ワークエリア等として機能する。すなわち、CPU21は、処理の実行に際してROM22から必要なプログラム等をRAM23にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
図1に示す学習モデル記憶部114、ルール記憶部122、および学習データ記憶部133は、RAM23で構成されうる。
【0031】
HDD24は、例えば、CPU21がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、HDD24には、例えば、CPU21がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。
入力部25は、キーボードやマウス等のポインティングデバイスにより構成される。
表示部26は、液晶ディスプレイ(LCD)等のモニターにより構成される。表示部26は、入力部25と組み合わせて構成されることにより、GUI(Graphical User Interface)として機能してもよい。
【0032】
通信I/F27は、情報処理装置20と外部装置との通信を制御するインタフェースである。
通信I/F27は、ネットワークとのインタフェースを提供し、ネットワークを介して、外部装置との通信を実行する。通信I/F27を介して、外部装置との間で各種データや各種パラメータ等が送受信される。本実施形態では、通信I/F27は、イーサネット(登録商標)等の通信規格に準拠する有線LAN(Local Area Network)や専用線を介した通信を実行してよい。ただし、本実施形態で利用可能なネットワークはこれに限定されず、無線ネットワークで構成されてもよい。この無線ネットワークは、Bluetooth(登録商標)、ZigBee(登録商標)、UWB(Ultra Wide Band)等の無線PAN(Personal Area Network)を含む。また、Wi-Fi(Wireless Fidelity)(登録商標)等の無線LAN(Local Area Network)や、WiMAX(登録商標)等の無線MAN(Metropolitan Area Network)を含む。さらに、3GPP(Third Generation Partnership Project)(登録商標)で規定される4G、5G等の無線WAN(Wide Area Network)を含む。なお、ネットワークは、各機器を相互に通信可能に接続し、通信が可能であればよく、通信の規格、規模、構成は上記に限定されない。
【0033】
図1に示す自然言語処理システム10の少なくとも一部の機能は、情報処理装置20におけるCPU21がプログラムを実行することで実現することができる。ただし、
図1に示す自然言語処理システム10の少なくとも一部の機能が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、CPU21の制御に基づいて動作しうる。
【0034】
[建物タイプ推定モデルを用いた推定手順]
次に、建物タイプ推定モデル115、および建物タイプ推定モデル115を用いた推定手順について説明する。
図3Aに、建物タイプ推定モデル115を用いた推定手順の一例を示す。
図3Aに示す建物タイプ推定モデル115は、学習部132により、学習データ134に含まれる住所情報と建物タイプとを用いて、機械学習(Fine-tuningを含む)が実行された、学習済みの学習モデルである。
図3Aに示すように、建物タイプ推定モデル115は、エンコーダ(エンコーダモデル)116と、分類器(分類モデル)117から構成される。エンコーダ116は、入力された住所情報(すなわち、テキスト情報)の各トークン(単語といった小さな単位)の分散表現(ベクトル表現、単語埋め込み(Word Embedding)等とも称される)を生成する。分類器117は、当該分散表現から、建物タイプ21を推定する。
【0035】
具体的には、エンコーダ116は、住所情報を複数のトークン(単語といった小さな単位)に分割し(トークン化し)、各トークンの分散表現を生成する。分散表現は、例えば、BERT(Bidirectional Encoder Representations from Transformers)、Word2Vec、GloVe(Global Vectors for Word Representation)、FastText等の自然言語処理(NLP)モデルを用いて生成することができる。すなわち、建物タイプ推定モデル115は、自然言語処理モデルを用いて構成されうる。
分類器117は、エンコーダ116により生成された分散表現から、建物タイプを推定し、出力する。本実施形態では、分類器117は、当該分散表現から、「ビジネスビル」、「ユニットビル」、あるいは「家」それぞれに該当する確率(尤度、確からしさ)を推定(分類)する。そして、分類器117は、最も高い確率を有する建物タイプが、入力された住所情報が示す住所に位置する建物タイプと推定して、出力する。分類器117は、例えば、FFNN(Feed-Forward Neural Network)モデルで構成される。
【0036】
図4に、住所情報から建物タイプを推定する具体例を示す。まず、建物タイプ推定部111が、「東京都ABC区D町1-2-3株式会社abc内」という住所情報40を、建物タイプ推定モデル115に入力する。建物タイプ推定モデル115におけるエンコーダ116は、住所情報40を複数のトークン41に分割する。例えば、住所情報40を、「東京都」、「ABC区」、「D町」、「1-2-3」、「株式会社」、「abc」、「内」を含む複数のトークン41に分割する。エンコーダ116は、さらに、複数のトークン41に対して、BERTといった自然言語処理を施して、各トークンの分散表現42を生成する。分散表現の生成のためにBERTを用いる場合、住所情報(文字列)が双方向で学習されるため、住所情報の文脈を分析した上で分散表現を生成することが可能となる。さらに、分類器117は、分散表現42から、建物タイプ43を推定する。本実施形態では、分類器117は、「ビジネスビル」、「ユニットビル」、「家」の3つの建物タイプから、住所情報40が示す住所に位置する建物タイプを推定する。図
4では、住所情報40から「ビジネスビル」が推定された例が示されている。
【0037】
図3Aに示す建物タイプ推定モデル115は、入力データとしての住所情報30から、建物タイプ31を推定するように構成されているが、追加的な入力データを用いて、建物タイプ31を推定するように構成されてもよい。ここでは2つの例を説明する。
【0038】
追加的な入力データを用いた推定処理の第1の例を、
図3Bを参照して説明する。
図3Bは、建物タイプ推定モデル115を用いた推定手順の別の例を示す。
図3Bに示すように、分類器117は、追加入力データ32として、住所情報30に基づいて建物タイプ識別部121により識別された建物タイプ33を用いて、建物タイプ31を推定するように構成されている。すなわち、分類器117は、エンコーダ116からの入力(分散表現)に加えて、識別された建物タイプ33を用いて、建物タイプ31を推定するように構成されている。
図3Bに示す建物タイプ推定モデル115は、学習部132により機械学習(Fine-tuningを含む)が実行された、学習済みの学習モデルである。学習段階では、学習データ134に含まれる住所情報、建物タイプ、および識別された建物タイプを用いて、機械学習が実行される。
【0039】
図3Bに示す建物タイプ推定モデル115を用いることにより、建物タイプ識別部121により識別された建物タイプも考慮した建物タイプの推定が可能となる。すなわち、分類器117は、建物タイプ識別部121により識別された建物タイプによる重み(勾配)に従って、建物タイプを推定することが可能となる。
【0040】
追加的な入力データを用いた推定処理の第2の例を、
図3Cを参照して説明する。
図3Cは、建物タイプ推定モデル115を用いた推定手順の別の例を示す。
図3Cに示すように、分類器117は、追加入力データ32として、住所情報30に基づいて、位置情報取得部112により取得された位置情報34と、エリア情報取得部113により取得されたエリア情報35を用いて、建物タイプ31を推定するように構成されている。すなわち、分類器117は、エンコーダ116からの入力(分散表現)に加えて、位置情報34とエリア情報35を用いて、建物タイプ31を推定するように構成されている。
図3Cに示す建物タイプ推定モデル115は、学習部132により機械学習(Fine Tuningを含む)が実行された、学習済みの学習モデルである。学習段階では、学習データ134に含まれる住所情報、建物タイプ、位置情報、およびエリア情報を用いて、機械学習が実行される。
【0041】
図3Cに示す建物タイプ推定モデル115を用いることにより、位置情報取得部112により取得された位置情報と、エリア情報取得部113により取得されたエリアも考慮した建物タイプの推定が可能となる。すなわち、分類器117は、位置情報取得部112により取得された位置情報と、エリア情報取得部113により取得されたエリアによる重み(勾配)に従って、建物タイプを推定することが可能となる。なお、
図3Cでは、位置情報とエリア情報の両方が、追加入力データ32として分類器117に入力されているが、いずれかの情報が分類器117に入力されるように構成されてもよい。
【0042】
また、上記に限定されず、建物タイプ推定モデル115が、
図3Bに示す識別された建物タイプ33と、
図3Cに示す位置情報34とエリア情報35のあらゆる組み合わせが、分類器117に入力されるように構成されてもよい。この場合、学習段階では、学習データ134に含まれる、建物タイプ推定モデル115に入力されるデータに対応する情報を用いて、機械学習が実行される。
【0043】
[ルールベースでの建物タイプの識別手順]
次に、建物タイプ識別部121による、建物タイプ識別処理の手順について説明する。本実施形態では、建物タイプ識別部121は、ルール記憶部122に記憶されている建物タイプ識別ルール123に基づいて、建物タイプを識別する。具体的には、建物タイプ識別部121は、住所情報(すなわち、住所の文字列)を建物タイプ識別ルール123に適用することにより、建物タイプを識別する。
【0044】
建物タイプ識別ルール123は、住所情報が有する特徴に基づいて建物タイプを識別するための、あらかじめ作成されているルールである。なお、本実施形態で説明する建物タイプ識別ルール123は一例であり、住所と建物タイプの組み合わせの実例に合致しない場合が生じうるものの、建物タイプが識別可能なあらゆるルールを使用することが可能である。例えば、住所情報が所定のキーワードを有するか否かに応じて、建物タイプが識別されてもよい。また、新たなルールが建物タイプ識別ルール123に追加されてもよい。
【0045】
本実施形態による建物タイプ識別ルール123は、(1)から(9)の9種類のルールを有する。(1)から(9)のルールは、住所情報が有する特徴により、建物タイプが識別されるように構成されている。
(1)住所情報が「株式会社」を含む場合、建物タイプは、「ビジネスビル」と識別される。
例:「大阪府ABC市D町1-2-3 株式会社abc内」は、「ビジネスビル」と識別される。
【0046】
(2)住所情報が「ビル」を含み、「ビル」の後に3桁の数字を含む場合、建物タイプは、「ユニットビル」と識別される。
例:「東京都ABC区D町1-2-3 abcビル303」は「ユニットビル」と識別される。
【0047】
(3)住所情報が「ビル」を含み、「ビル」の後に3桁の数字を含まない場合、建物タイプは、「ビジネスビル」と識別される。
例:「東京都ABC区D町1-2-3 abcビル5階」は、「ビジネスビル」と識別される。
【0048】
(4)住所情報が「号」を最後に含む場合、建物タイプは、「ユニットビル」と識別される。
例:「大阪府ABC市D町1-2-3 レジデンスabc 303号」は「ユニットビル」と識別される。
【0049】
(5)住所情報が「×1-×2-×3」形式を含み、「×3」が3桁または4桁の数字でない場合、建物タイプは、「家」と識別される。
例:「埼玉県ABC市D町1-234-5」は「家」と識別される。
【0050】
(6)住所情報が「×1-×2」形式を含む場合、建物タイプは「ユニットビル」と識別される。
例:「神奈川県ABC町DE123-4」は「ユニットビル」と識別される。
【0051】
(7)住所情報が単一の数字を含み、当該数字を末尾に含む場合、建物タイプは「家」と識別される。
例:「千葉県ABC市D町1234」は「家」と識別される。
【0052】
(8)住所情報が「×1-×2-×3」または「×1-×2-×3-×4」形式を含み、「×3」または「×4」が3桁または4桁の数字である場合、建物タイプは「ユニットビル」と識別される。
例:「福岡県ABC市DE区FG1-2-3-303」は「ユニットビル」と識別される。
【0053】
(9)住所情報が「×1-×2-×3」または「×1-×2-×3-×4」形式を含み、当該形式と別に末尾に数字を含む場合、建物タイプは「ユニットビル」と識別される。
例:「神奈川県ABC市DE1-2-3 レジデンスabc 303」は「ユニットビル」と識別される。
【0054】
なお、建物タイプ識別部121は、上記ルールにおいて「×1-×2-×3」は、「×1丁目×2番地×3号」や「×1丁目×2-×3」のような変形と同じ文字列として認識するように構成されうる。
また、建物タイプ識別部121は、上記ルールにおいて「×1-×2-×3-×4」は、「×1丁目×2番地×3号(建物の名称)×4」や「×1丁目×2-×3(建物の名称)×4」のような変形と同じ文字列として認識するように構成されうる。
【0055】
図5に、上記ルール(1)から(9)において挙げた住所情報50と当該住所情報により識別される建物タイプ51の例を示す。
図5に示すように、住所情報50は、当該住所情報が有する特徴に従って、「ビジネスビル」、「ユニットビル」、および「家」のいずれかの建物タイプ51に分類される。
【0056】
なお、上記の(1)から(9)のルールで建物タイプが識別されない住所については、建物タイプ識別部105は、当該住所の建物タイプを、「家」といった所定の建物タイプと識別してもよい。あるいは、(1)から(9)のルールで建物タイプが識別されない住所については、建物タイプ識別部105は、当該住所の建物タイプを「不明タイプ」と識別してもよい。
【0057】
また、ルール(1)から(9)は、東京都といった、いくつかのエリアに適用可能であるが、その他のエリアには適用可能でない場合もある。そのため、他のエリアに対してはルール(1)から(9)とは別のルールを作成して、適用してもよい。また、東京都内におけるエリアであっても、ルール(1)から(9)とは別のルールを作成して、適用してもよい。
【0058】
[全体の処理の流れ]
図6に、本実施形態による自然言語処理システム10において実行される全体の処理のフローチャートを示す。なお、学習モデル記憶部114には、学習部132により機械学習が実行された、学習済みの建物タイプ推定モデル115が格納されているものとする。また、本例において、建物タイプは、「ビジネスビル」、「ユニットビル」、および「家」の3タイプを想定する。
【0059】
S61において、住所情報取得部100は、住所を含む入力情報を受け付け、テキスト情報で構成される住所情報を取得する。住所情報取得部100は、受け付けた入力情報が住所を表すテキスト情報で構成されている場合は、受け付けた情報自体を、住所情報として取得する。また、受け付けた入力情報が、住所を表すテキスト情報と、住所以外のテキスト情報や画像情報を含んで構成される場合、住所情報取得部100は、受け付けた入力情報から、住所を表すテキスト情報(テキスト部分)を切り出して、住所情報を取得しうる。また、住所情報取得部100は、受け付けた入力情報が音声情報である場合は、受け付けた音声情報からテキスト情報に変換し(すなわち、文字起こしを行い)、当該変換した情報を住所情報として取得する。住所情報取得部100は、取得した住所情報を、第1処理部110と第2処理部120へ出力する。
【0060】
S62において、第1処理部110における建物タイプ推定部111は、住所情報取得部100から取得した住所情報を、建物タイプ推定モデル115へ入力して、当該住所情報が示す住所に位置する建物の建物タイプを推定する。建物タイプの推定手順は、上記の通りであり、例えば、
図3Aに示すように、建物タイプ推定部111は、当該住所情報を建物タイプ推定モデル115に入力して、建物タイプを推定する。あるいは、
図3Bに示すように、建物タイプ推定部111は、当該住所情報と、後述するS63で識別された建物タイプを、建物タイプ推定モデル115に入力して、建物タイプを推定してよい。あるいは、
図3Cに示すように、建物タイプ推定部111は、当該住所情報と、当該推定された建物タイプ、位置情報取得部112により取得された位置情報、エリア情報取得部113により取得されたエリア情報の少なくとも1つとを、建物タイプ推定モデル115に入力して、建物タイプを推定してよい。さらに、建物タイプ推定部111は、当該住所情報と、当該建物タイプ、当該位置情報、当該エリア情報の少なくとも1つとの組み合わせを、建物タイプ推定モデル115に入力して、建物タイプを推定してよい。
建物タイプ推定部111は、S62で推定した建物タイプを、推定建物タイプとして、建物タイプ決定部140に出力する。
【0061】
S63において、第2処理部120における建物タイプ識別部121は、建物タイプ識別ルール123を用いて、住所情報取得部100から取得した住所情報が示す住所に位置する建物タイプを識別する。建物タイプの識別手順は上記の通りである。建物タイプ識別部121は、当該住所情報から、「ビジネスビル」、「ユニットビル」、および「家」のいずれかを識別する。
建物タイプ識別部121は、S63で識別した建物タイプを、識別建物タイプとして、建物タイプ決定部140に出力する。
【0062】
なお、S62の建物タイプ推定処理とS63の建物タイプ識別処理は、同時に行われてもよいし、一方が先に行われてもよい。ただし、S62の建物タイプ推定処理において、S63で識別された建物タイプを用いる場合は、S63の処理が先に行われる。
【0063】
S64において、建物タイプ決定部140は、推定建物タイプと識別建物タイプに基づいて、最終的な建物タイプを決定する。
図7A~
図7Cを参照して、S64における建物タイプ決定処理について説明する。
【0064】
図7Aは、建物タイプ決定処理の第1の例のフローチャートを示す。当該第1の例では、推定建物タイプと識別建物タイプが取りうる建物タイプに予め優先度が設定され、推定建物タイプと識別建物タイプが異なる場合に、当該優先度に従って建物タイプが決定される。建物タイプ決定部140は、当該優先度に関する設定情報を予め取得しているものとする。本実施形態では、建物タイプに対する優先度は、「家」がもっとも高い優先度を有し、「ビジネスビル」が2番目の優先度を有し、「ユニットビル」が3番目の優先度を有するように設定されているものとする。
【0065】
図7Aにおいて、建物タイプ決定部140は、推定建物タイプと識別建物タイプが同じか否かを判定する(S71)。推定建物タイプと識別建物タイプが同じ場合(S71でYes)、建物タイプ決定部140は、推定建物タイプ(または、識別建物タイプ)を、最終的な建物タイプとして決定する(S72)。一方、推定建物タイプと識別建物タイプが異なる場合(S71でNo)、建物タイプ決定部140は、予め設定されている優先度に従って、推定建物タイプと識別建物タイプのうち、高い優先度の建物タイプを、最終的な建物タイプとして決定する(S73)。例えば、推定建物タイプが「ユニットビル」であり、識別建物タイプが「ビジネスビル」の場合は、予め設定されている優先度に従って、「ビジネスビル」が最終的な建物タイプとして決定される。
【0066】
図7Bは、建物タイプ決定処理の第2の例のフローチャートを示す。当該第2の例では、推定建物タイプと識別建物タイプが異なる場合に推定建物タイプと識別建物タイプのいずれかを優先するかが予め設定され、当該優先度に関する設定に従って建物タイプが決定される。建物タイプ決定部140は、当該優先度に関する設定情報を予め取得しているものとする。本実施形態では、識別建物タイプを優先すると設定されているものとする。すなわち、推定建物タイプと識別建物タイプが異なる場合に、推定建物タイプより、識別建物タイプが優先される。
【0067】
図7Bにおいて、S71とS72の処理は、
図7Aと同じであるため、説明を省略する。推定建物タイプと識別建物タイプが異なる場合(S71でNo)、建物タイプ決定部140は、優先度に関する設定に従って、
識別建物タイプを、最終的な建物タイプとして決定する(S74)。
【0068】
図7Cは、建物タイプ決定処理の第3の例のフローチャートを示す。当該第3の例では、推定建物タイプと識別建物タイプが異なる場合に、推定建物タイプと識別建物タイプが異なることを操作者に通知し、操作者により、最終的な建物タイプが決定される。
【0069】
図7Cにおいて、S71とS72の処理は、
図7Aと同じであるため、説明を省略する。推定建物タイプと識別建物タイプが異なる場合(S71でNo)、建物タイプ決定部140は、操作者によるマニュアル操作を促すメッセージを出力する(S75)。当該メッセージには、住所情報が含まれうる。操作者は、例えば、S75で出力されたメッセージにおける住所情報から、地図サービス等を用いて、当該住所情報が示す住所に位置する建物タイプを、視覚的に判断することができる。当該メッセージを出力後に操作者により指示された(例えば、操作者により建物タイプが入力された)場合、建物タイプ決定部140は、当該指示された建物タイプを、最終的な建物タイプとして決定する(S76)。
【0070】
図6の説明に戻り、S64で最終的な建物タイプが決定されると、処理はS65へ進む。S65では、建物タイプ決定部140は、最終的な建物タイプを出力する。例えば、建物タイプ決定部140は、最終的な建物タイプを、外部装置(不図示)へ出力してもよい。
【0071】
このように、本実施形態によれば、自然言語処理モデルを用いて構成された、学習済みの学習モデルを用いて、テキストで構成された住所情報から、当該住所情報が示す住所に位置する建物の建物タイプを推定することができる。さらに、当該推定処理を補完するように、ルールベースで、当該住所情報報が示す住所に位置する建物の建物タイプを識別し、推定結果と識別結果とに基づいて、最終的な建物タイプを決定する。これにより、住所情報に基づいて決定される建物タイプの精度が高まり、これにより、当該建物タイプを利用したサービスに対する信頼性の向上が期待される。
【0072】
なお、上記において識別の実施形態が説明されているが、当該実施形態は単なる例示であり、本発明の範囲を限定する意図はない。本明細書に記載された装置及び方法は上記した以外の形態において具現化することができる。また、本発明の範囲から離れることなく、上記した実施形態に対して適宜、省略、置換及び変更をなすこともできる。かかる省略、置換及び変更をなした形態は、請求の範囲に記載されたもの及びこれらの均等物の範疇に含まれ、本発明の技術的範囲に属する。
【0073】
本実施形態の開示は以下の構成を含む。
[1]住所情報を取得する取得部と、前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定する推定部と、を有する、自然言語処理システム。
【0074】
[2]所定のルールを用いて、前記住所情報から、前記建物タイプを識別する識別部を更に有する、[1]に記載の自然言語処理システム。
【0075】
[3]前記推定部により推定された前記建物タイプを示す第1の建物タイプと、前記識別部により識別された前記建物タイプを示す第2の建物タイプに基づいて、前記建物タイプを決定する決定部を更に有する、[2]に記載の自然言語処理システム。
【0076】
[4]前記第1の建物タイプと前記第2の建物タイプが同じ場合、前記決定部は、前記第1の建物タイプまたは前記第2の建物タイプを、前記建物タイプとして決定する、[3]に記載の自然言語処理システム。
【0077】
[5]前記第1の建物タイプと前記第2の建物タイプが取りうる複数の建物タイプにはそれぞれ優先度が設定されており、前記第1の建物タイプと前記第2の建物タイプが異なる場合、前記決定部は、前記第1の建物タイプと前記第2の建物タイプのうち、前記優先度が高い建物タイプを、前記建物タイプとして決定する、[3]または[4]に記載の自然言語処理システム。
【0078】
[6]前記第1の建物タイプと前記第2の建物タイプが異なる場合、前記決定部は、前記第2の建物タイプを、前記建物タイプとして決定する、[3]または[4]に記載の自然言語処理システム。
【0079】
[7]前記第1の建物タイプと前記第2の建物タイプが異なる場合、前記決定部は、操作者による指示された建物タイプを、前記建物タイプとして決定する、[3]または[4]に記載の自然言語処理システム。
【0080】
[8]前記推定部は、前記住所情報と前記第2の建物タイプとを前記学習モデルに入力することにより、前記建物タイプを推定する、[3]から[7]のいずれかに記載の自然言語処理システム。
【0081】
[9]前記住所情報が示す住所の位置情報を取得する位置情報取得部を更に有し、前記推定部は、前記住所情報と前記位置情報とを前記学習モデルに入力することにより、前記建物タイプを推定する、[3]から[8]のいずれかに記載の自然言語処理システム。
【0082】
[10]前記住所情報が示す住所が属する用途地域、当該住所の最寄り駅、および当該最寄り駅からの当該住所までの距離の少なくともいずれかを、エリア情報として取得するエリア情報取得部を更に有し、前記推定部は、前記住所情報と前記エリア情報とを前記学習モデルに入力することにより、前記建物タイプを推定する、[3]から[9]のいずれかに記載の自然言語処理システム。
【0083】
[11]前記学習モデルは、自然言語処理モデルを用いて構成される、[1]から[10]のいずれかに記載の自然言語処理システム。
【0084】
[12]住所情報を取得することと、前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定すること、を含む、自然言語処理方法。
【0085】
[13]自然言語処理をコンピュータに実行させるための自然言語処理プログラムであって、該プログラムは、該コンピュータに、住所情報を取得する取得処理と、前記住所情報を、機械学習により学習済みの学習モデルに入力することにより、前記住所情報が示す住所に位置する建物の建物タイプを推定する推定処理と、を含む処理を実行させるためのものである。
【符号の説明】
【0086】
10:自然言語処理システム、100:住所情報取得部、110:第1処理部、111:建物タイプ推定部、112:位置情報取得部、113:エリア情報取得部、114:学習モデル記憶部、115:建物タイプ推定モデル、120:第2処理部、121:建物タイプ識別部、122:ルール記憶部、123:建物タイプ識別ルール、130:学習処理部、131:学習データ取得部、132:学習部、133:学習データ記憶部、134:学習データ、140:建物タイプ決定部