IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人 東京大学の特許一覧

特開2023-181819言語処理装置、機械学習方法、推定方法及びプログラム
<>
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図1
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図2
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図3
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図4
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図5
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図6
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図7
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図8
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図9
  • 特開-言語処理装置、機械学習方法、推定方法及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023181819
(43)【公開日】2023-12-25
(54)【発明の名称】言語処理装置、機械学習方法、推定方法及びプログラム
(51)【国際特許分類】
   G06F 16/35 20190101AFI20231218BHJP
   G06F 40/279 20200101ALI20231218BHJP
   G06F 16/31 20190101ALI20231218BHJP
【FI】
G06F16/35
G06F40/279
G06F16/31
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022095169
(22)【出願日】2022-06-13
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】西田 光甫
(72)【発明者】
【氏名】西田 京介
(72)【発明者】
【氏名】吉永 直樹
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091EA01
5B175DA01
5B175FA03
(57)【要約】
【課題】低頻度語に対する分類性能を向上させることを目的とする。
【解決手段】言語処理装置3は、固有表現を含むテキストデータとテキストデータ内の単語毎に固有表現であるか否かを示すラベル情報とを有する教師あり知識文を、複数記憶する教師あり知識コーパス記憶部21を備え、言語処理装置3が、所定の固有表現を含む入力単語系列及び入力単語系列内の単語毎に所定の固有表現であるか否かを示すラベル情報を含む出力ラベル系列を取得し、所定の固有表現に基づいて教師あり知識コーパス記憶部21を検索して、所定の固有表現と同じ固有表現を含む所定の教師あり知識文を読み出し(32)、入力単語系列に所定の教師あり知識文を挿入することで知識文挿入済み入力単語系列を生成して言語処理部34に渡すと共に、出力ラベル系列に所定の教師あり知識文を挿入することで知識文挿入済み出力ラベル系列を生成して損失計算部35に渡す(33)。
【選択図】図3
【特許請求の範囲】
【請求項1】
学習フェーズにおいて機械学習モデルを機械学習させる言語処理装置が実行する機械学習方法であって、
前記言語処理装置は、固有表現を含むテキストデータと当該テキストデータ内の単語毎に前記固有表現であるか否かを示すラベル情報とを有する教師あり知識文を、複数記憶する教師あり知識コーパス記憶部を備え、
前記言語処理装置が、
所定の固有表現を含む入力単語系列及び当該入力単語系列内の単語毎に前記所定の固有表現であるか否かを示すラベル情報を含む出力ラベル系列を取得し、前記所定の固有表現に基づいて前記教師あり知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師あり知識文を読み出す検索処理と、
前記入力単語系列に前記所定の教師あり知識文を挿入することで知識文挿入済み入力単語系列を生成すると共に、前記出力ラベル系列に前記所定の教師あり知識文を挿入することで知識文挿入済み出力ラベル系列を生成する知識挿入処理と、
前記機械学習モデルを用い、前記知識挿入処理によって生成された前記知識文挿入済み入力単語系列をスコアベクトル系列に変換する言語処理と、
前記言語処理によって変換された前記スコアベクトル系列、及び前記知識挿入処理によって生成された前記知識文挿入済み出力ラベル系列を用いて、損失関数値を計算する損失計算処理と、
前記損失計算処理によって計算された前記損失関数値に基づいて、前記機械学習モデルのパラメータを更新するパラメータ更新処理と、
を実行する機械学習方法。
【請求項2】
請求項1に記載の機械学習方法であって、
前記言語処理装置は、固有表現を含むテキストデータを有する教師なし知識文を複数記憶する教師なし知識コーパス記憶部を備え、
前記検索処理によって、前記教師あり知識コーパス記憶部から規定数の前記所定の教師あり知識文を読み出すことができない場合には、前記検索処理は、前記所定の固有表現に基づいて前記教師なし知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師なし知識文を読み出す処理を含み、
前記知識挿入処理は、前記入力単語系列に前記所定の教師あり知識文に加えて前記所定の教師なし知識文を挿入することで前記知識文挿入済み入力単語系列を生成すると共に、前記出力ラベル系列に前記所定の教師あり知識文に加えて前記所定の教師なし知識文を挿入することで前記知識文挿入済み出力ラベル系列を生成する処理を含む、
機械学習方法。
【請求項3】
学習フェーズにおいて機械学習モデルを機械学習させる言語処理装置であって、
固有表現を含むテキストデータと当該テキストデータ内の単語毎に前記固有表現であるか否かを示すラベル情報とを有する教師あり知識文を、複数記憶する教師あり知識コーパス記憶部と、
固有表現を含むテキストデータを有する教師なし知識文を複数記憶する教師なし知識コーパス記憶部と、
所定の固有表現を含む入力単語系列及び当該入力単語系列内の単語毎に前記所定の固有表現であるか否かを示すラベル情報を含む出力ラベル系列を取得し、前記所定の固有表現に基づいて前記教師あり知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師あり知識文を読み出し、前記教師あり知識コーパス記憶部から規定数の前記所定の教師あり知識文を読み出すことができない場合には、前記所定の固有表現に基づいて前記教師なし知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師なし知識文を読み出す検索部と、
前記入力単語系列に対して、前記所定の教師あり知識文を挿入し、前記教師あり知識コーパス記憶部から前記規定数の前記所定の教師あり知識文を読み出すことができない場合には更に前記所定の教師なし知識文を挿入することで知識文挿入済み入力単語系列を生成すると共に、前記出力ラベル系列に対して、前記所定の教師あり知識文を挿入し、前記教師あり知識コーパス記憶部から前記規定数の前記所定の教師あり知識文を読み出すことができない場合には更に前記所定の教師なし知識文を挿入することで知識文挿入済み出力ラベル系列を生成する知識挿入部と、
前記機械学習モデルを用い、前記知識挿入部によって生成された前記知識文挿入済み入力単語系列をスコアベクトル系列に変換する言語処理部と、
前記言語処理部によって変換された前記スコアベクトル系列、及び前記知識挿入部によって生成された前記知識文挿入済み出力ラベル系列を用いて、損失関数値を計算する損失計算部と、
前記損失計算部によって計算された前記損失関数値に基づいて、前記機械学習モデルのパラメータを更新するパラメータ更新部と、
を有する言語処理装置。
【請求項4】
コンピュータに、請求項1又は2に記載の方法を実行させるプログラム。
【請求項5】
推定フェーズにおいて単語の分類を推定する言語処理装置が実行する推定方法であって、
前記言語処理装置は、固有表現を含むテキストデータと当該テキストデータ内の単語毎に前記固有表現であるか否かを示すラベル情報とを有する教師あり知識文を、複数記憶する教師あり知識コーパス記憶部を備え、
前記言語処理装置は、
所定の固有表現を含む入力単語系列を入力する入力処理と、
前記入力処理によって入力された前記入力単語系列に含まれる前記所定の固有表現に基づいて前記教師あり知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師あり知識文を読み出す検索処理と、
前記入力単語系列に前記所定の教師あり知識文を挿入することで知識文挿入済み入力単語系列を生成する知識挿入処理と、
学習済みの機械学習モデルを用い、前記知識文挿入済み入力単語系列をスコアベクトル系列に変換する言語処理と、
前記スコアベクトル系列の中の全ての単語について、スコアが最大となっている次元を計算し、当該全ての単語をスコア最大次元に相当するラベルに分類することで、分類結果のラベル情報を並べた予測ラベル系列を出力する出力処理と、
を実行する推定方法。
【請求項6】
請求項5に記載の推定方法であって、
前記言語処理装置は、固有表現を含むテキストデータを有する教師なし知識文を複数記憶する教師なし知識コーパス記憶部を備え、
前記検索処理によって、前記教師あり知識コーパス記憶部から規定数の前記所定の教師あり知識文を読み出すことができない場合には、前記検索処理は、前記所定の固有表現に基づいて前記教師なし知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師なし知識文を読み出す処理を含み、
前記知識挿入処理は、前記入力単語系列に前記所定の教師あり知識文に加えて前記所定の教師なし知識文を挿入することで前記知識文挿入済み入力単語系列を生成する処理を含む、
推定方法。
【請求項7】
推定フェーズにおいて単語の分類を推定する言語処理装置であって、
固有表現を含むテキストデータと当該テキストデータ内の単語毎に前記固有表現であるか否かを示すラベル情報とを有する教師あり知識文を、複数記憶する教師あり知識コーパス記憶部と、
固有表現を含むテキストデータを有する教師なし知識文を複数記憶する教師なし知識コーパス記憶部と、
所定の固有表現を含む入力単語系列を入力する入力部と、
前記入力部によって入力された前記入力単語系列に含まれる前記所定の固有表現に基づいて前記教師あり知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師あり知識文を読み出し、前記教師あり知識コーパス記憶部から規定数の前記所定の教師あり知識文を読み出すことができない場合には、前記所定の固有表現に基づいて前記教師なし知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師なし知識文を読み出す検索部と、
前記入力単語系列に対して、前記所定の教師あり知識文を挿入し、前記教師あり知識コーパス記憶部から前記規定数の前記所定の教師あり知識文を読み出すことができない場合には更に前記所定の教師なし知識文を挿入することで知識文挿入済み入力単語系列を生成する知識挿入部と、
学習済みの機械学習モデルを用い、前記知識文挿入済み入力単語系列をスコアベクトル系列に変換する言語処理部と、
前記スコアベクトル系列の中の全ての単語について、スコアが最大となっている次元を計算し、当該全ての単語をスコア最大次元に相当するラベルに分類することで、分類結果のラベル情報を並べた予測ラベル系列を出力する出力部と、
を有する言語処理装置。
【請求項8】
コンピュータに、請求項5又は6に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自然言語モデルを用いた自然言語処理に関し、特に固有表現認識に関する。
【背景技術】
【0002】
近年、BERT(Bidirectional Encoder Representations from Transformers)等の自然言語モデルを用いた自然言語処理に関する研究が進んでいる(非特許文献1参照)。自然言語処理には、固有表現認識(NER:Named Entity Recognition)と呼ばれるタスクが含まれる。固有表現(Named Entity)は、固有の事物を指し示す語句のことであり、一般的には特に名詞に限定した固有名詞を示す。例えば、「東京」のような地名や「鈴木」のような個人名等が固有名詞の例として挙げられる。固有表現認識は、与えられた文(テキストデータ)に含まれる固有表現を抽出し、固有表現を事前に定義されたラベル(図9のEntity Categories)に分類するタスクである。
【0003】
例えば、図10に示すように、言語処理部200は、入力単語系列(NTT/とは/日本電信電話/株式会社/の/こと/です)が入力され、入力された文字(単語)ごとに固有表現であるか否かを示すラベルを付与することで、出力ラベル系列(B-ORG/O/B-ORG/I-ORG/O/O/O)を出力する。この場合、ラベル"O"は固有表現でない単語、"B-XXX"は図9におけるカテゴリXの最初の単語、ラベル"I-XXX"はカテゴリXの単語で前の単語と同じ固有表現に属する単語(例えば、「日本電信電話」は「株式会社」とセットで1つの固有表現「日本電信電話株式会社」)である。なお、図10において、ORGはOrganizationの略である。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (https://arxiv.org/abs/1810.04805)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、固有表現には低頻度なものが多い。なお、以降、低頻度な固有表現を単に「低頻度語」と示す。言語処理部が低頻度語を扱ったことがない場合、言語処理部は、入力単語系列だけの情報から、低頻度語を正しいラベルに分類しないといけない。そのため、低頻度語に対する分類性能が低くなってしまうという課題が生じる。
【0006】
本発明は、上記の点に鑑みてなされたものであって、低頻度語に対する分類性能を向上させることを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、請求項1に係る発明は、学習フェーズにおいて機械学習モデルを機械学習させる言語処理装置が実行する機械学習方法であって、前記言語処理装置は、固有表現を含むテキストデータと当該テキストデータ内の単語毎に前記固有表現であるか否かを示すラベル情報とを有する教師あり知識文を、複数記憶する教師あり知識コーパス記憶部を備え、前記言語処理装置が、所定の固有表現を含む入力単語系列及び当該入力単語系列内の単語毎に前記所定の固有表現であるか否かを示すラベル情報を含む出力ラベル系列を取得し、前記所定の固有表現に基づいて前記教師あり知識コーパス記憶部を検索して、前記所定の固有表現と同じ固有表現を含む所定の教師あり知識文を読み出す検索処理と、前記入力単語系列に前記所定の教師あり知識文を挿入することで知識文挿入済み入力単語系列を生成すると共に、前記出力ラベル系列に前記所定の教師あり知識文を挿入することで知識文挿入済み出力ラベル系列を生成する知識挿入処理と、前記機械学習モデルを用い、前記知識挿入処理によって生成された前記知識文挿入済み入力単語系列をスコアベクトル系列に変換する言語処理と、前記言語処理によって変換された前記スコアベクトル系列、及び前記知識挿入処理によって生成された前記知識文挿入済み出力ラベル系列を用いて、損失関数値を計算する損失計算処理と、前記損失計算処理によって計算された前記損失関数値に基づいて、前記機械学習モデルのパラメータを更新するパラメータ更新処理と、を実行する機械学習方法である。
【発明の効果】
【0008】
以上説明したように本発明によれば、従来に比べて、低頻度語に対する分類性能を向上させることができるという効果を奏する。
【図面の簡単な説明】
【0009】
図1】本実施形態の通信システムの概略図である。
図2】言語処理装置及び通信端末のハードウェア構成図である。
図3】本実施形態の言語処理装置の学習フェーズにおける機能構成図である。
図4】入力単語系列と各知識文との関係を示す表である。
図5】本実施形態の言語処理装置の推定フェーズにおける機能構成図である。
図6】学習(訓練)フェーズにおいて言語処理装置が実行する処理を示すフローチャートである。
図7】推定(推論)フェーズにおいて言語処理装置が実行する処理を示すフローチャートである。
図8】従来と本実施形態の手法による評価結果を示す図である。
図9】固有表現の事前に定義されたラベルを示す表である。
図10】自然言語処理を説明する概念図である。
【発明を実施するための形態】
【0010】
以下、図面に基づいて本発明の実施形態を説明する。
【0011】
〔実施形態のシステム構成〕
まず、図1を用いて、本実施形態の通信システム1の構成の概略について説明する。図1は、本発明の実施形態に係る通信システムの概略図である。
【0012】
図1に示されているように、本実施形態の通信システム1は、言語処理装置3、及び通信端末5によって構築されている。通信端末5は、ユーザYによって管理及び使用される。
【0013】
また、言語処理装置3と通信端末5は、インターネット等の通信ネットワーク100を介して通信することができる。通信ネットワーク100の接続形態は、無線又は有線のいずれでも良い。
【0014】
言語処理装置3は、単数又は複数のコンピュータによって構成されている。言語処理装置3が複数のコンピュータによって構成されている場合には、「言語処理装置」と示しても良いし、「言語処理システム」と示しても良い。
【0015】
言語処理装置3は、AI(Artificial Intelligence)により、固有表現認識(NER:Named Entity Recognition)と呼ばれるタスクである自然言語処理を行う装置である。本実施形態の言語処理装置3は、BERTが扱ったことがない低頻度の固有表現(以降、「低頻度語」と示す)を含むテキストデータであっても、低頻度語に対する分類性能を向上させた後述の予測ラベル系列を示す結果データを出力する。出力方法としては、通信端末5に結果データを送信することにより、通信端末5側で分果データに係るグラフ等を表示又は印刷したり、言語処理装置3に接続されたディスプレイで上記グラフ等を表示したり、言語処理装置3に接続されたプリンタ等で上記グラフ等を印刷したりすることが挙げられる。
【0016】
通信端末5は、コンピュータであり、図1では、一例としてノート型パソコンが示されているが、ノード型に限るものではなく、デスクトップパソコンであってもよい。また、通信端末は、スマートフォン、又はタブレット型端末であってもよい。図1では、ユーザYが、通信端末5を操作する。
【0017】
〔言語処理装置及び通信端末のハードウェア構成〕
〔ハードウェア構成〕
次に、図2を用いて、言語処理装置3の電気的なハードウェア構成を説明する。図2は、言語処理装置の電気的なハードウェア構成図である。
【0018】
言語処理装置3は、コンピュータとして、図2に示されているように、CPU(Central Processing Unit3101、ROM(Read Only Memory)302、RAM(Random Access Memory)303、SSD(Solid State Drive)304、外部機器接続I/F(Interface)305、ネットワークI/F306、メディアI/F309、及びバスライン310を備えている。
【0019】
これらのうち、CPU301は、言語処理装置3全体の動作を制御する。ROM302は、IPL(Initial Program Loader)等のCPU301の駆動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。
【0020】
SSD304は、CPU301の制御に従って各種データの読み出し又は書き込みを行う。なお、SSD304の代わりに、HDD(Hard Disk Drive)を用いても良い。
【0021】
外部機器接続I/F305は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、ディスプレイ、スピーカ、キーボード、マウス、USB(Universal Serial Bus)メモリ、及びプリンタ等である。
【0022】
ネットワークI/F306は、物理ネットワーク300等の通信ネットワークを介してデータ通信をするためのインターフェースである。
【0023】
メディアI/F309は、フラッシュメモリ等の記録メディア309mに対するデータの読み出し又は書き込み(記憶)を制御する。記録メディア309mには、DVD(Digital Versatile Disc)やBlu-ray Disc(登録商標)等も含まれる。
【0024】
バスライン310は、図2に示されているCPU301等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0025】
なお、通信端末5は、言語処理装置3と同様の構成を有するため、ハードウェア構成の説明は省略する。
【0026】
〔言語処理装置の機能構成〕
続いて、本実施形態に係る言語処理装置3の学習フェーズ及び推定(推論)フェーズにおける機能構成について説明する。
【0027】
<学習(訓練)フェーズの機能構成>
図3は、本実施形態の言語処理装置の学習(訓練)フェーズにおける機能構成図である。
【0028】
(記憶部等)
図2のRAM303又はSSD304には、学習データ記憶部20、教師あり知識コーパス記憶部21、教師なし知識コーパス記憶部22、及び、機械学習モデル40が構築されている。
【0029】
学習データ記憶部20には、学習(教師)データとして、入力単語系列のデータ及び出力ラベル系列のデータのペアが複数記憶されている。
【0030】
教師あり知識コーパス記憶部21には、教師あり知識コーパスが記憶されている。教師あり知識コーパスには、固有表現(Named Entity)を含み単語系列に分解されたテキストデータ、及び当該テキストデータ内の単語毎に前記固有表現であるか否かを示すラベル情報が関連付けて含まれている。テキストデータは、例えば、単語系列に分解された「NTT/とは/日本電信電話/株式会社/の/こと/です」を示す。また、これに対応するラベル情報は、例えば、「B-ORG/O/B-ORG/I-ORG/O/O/O」を示す。この場合、ラベル"O"は固有表現でない単語、"B-XXX"は図9におけるカテゴリXの最初の単語、ラベル"I-XXX"はカテゴリXの単語で前の単語と同じ固有表現に属する単語(例えば、「日本電信電話」は「株式会社」とセットで1つの固有表現「日本電信電話株式会社」)である。なお、ORGはOrganizationの略である。
【0031】
教師なし知識コーパス記憶部22には、教師なし知識コーパスが記憶されている。教師なし知識コーパスには、教師あり知識コーパスの場合と同様に固有表現(Named Entity)を含み単語系列に分解されたテキストデータが含まれているが、ラベル情報は含まれていない。
【0032】
なお、上記のごとく、知識文は任意のテキストデータ(及びラベル情報)であるが、例えば、以下の条件を満たすことが期待される。
・入力単語系列中の固有表現に言及するテキストデータ
・入力単語系列と多くの単語を共有するテキストデータ
これにより、低頻度語のように、分類のために必要な情報が不足することが多い固有表現についても、補完することで精度良く入力単語系列のデータを分類することが期待される。
【0033】
機械学習モデル40は、機械学習において、入力データに対して結果(出力)を導き出す仕組みを示し、多数の(モデル)パラメータによって構築されている。
【0034】
(各機能構成)
図3に示すように、言語処理装置3は、サンプリング部30、検索部32、知識挿入部33、言語処理部34、損失計算部35、及びパラメータ更新部36を有している。これら各部は、プログラムに基づき図2のCPU301による命令によって実現される機能である。 これらのうち、サンプリング部30は、学習データ記憶部20から、所定の学習データ(所定の固有表現を含む入力単語系列と、この入力単語系列内の単語毎に所定の固有表現であるか否かを示すラベル情報を含む出力ラベル系列のペア)をサンプリングして、検索部32及び知識挿入部33に出力する。
【0035】
検索部32は、サンプリング部30から所定の固有表現を含む入力単語系列を取得し、所定の固有表現に基づいて教師あり知識コーパス記憶部21を検索して、所定の固有表現と同じ固有表現を含む所定の教師あり知識文のデータを読み出す。また、検索部32は、所定の条件下で、所定の固有表現に基づいて教師なし知識コーパス記憶部22を検索して、所定の固有表現と同じ固有表現を含む所定の教師なし知識文のデータを読み出す。具体的には、検索部32は、入力単語系列中の予め定められている固有表現をクエリとして、教師あり知識コーパス記憶部21及び教師なし知識コーパス記憶部22から、同じ固有表現を含む知識文のデータを読み出す。
【0036】
なお、固有表現は、予め、学習データ、教師あり知識コーパス、及び教師なし知識コーパスの中の全てのテキストデータから抽出して定められている。この固有表現の抽出は、機械学習モデル40とは別の機械学習モデル(固有表現抽出モデル)を利用することで行われる。そして、検索部32は、ある文(テキストデータ)が含む固有表現を管理するためのテーブルをデータベースとして保持している。学習フェーズにおける検索部32は、教師あり知識コーパス記憶部21(所定の条件下で教師なし知識コーパス記憶部22を含む)から、入力単語系列内の所定の固有表現と同じ所定の固有表現を含む知識文を読み出す。
【0037】
このように、検索部32は、必ず教師あり知識コーパス記憶部21から所定の固有表現を含む教師あり知識文を読み出すが、教師なし知識コーパス記憶部22から所定の固有表現を含む教師なし知識文を読み出さない場合がある。これは、以下のような条件により実行される。即ち、検索部32は、教師あり知識コーパス記憶部21の検索により、入力単語系列に含まれる所定の固有表現と同じ固有表現を含む教師あり知識文を規定数以上読み出した場合には、教師あり知識文からランダムに規定数の知識文を保持し、それ以外の読み出した教師あり知識文を破棄する。これに対して、規定数未満の場合には、検索部32は、まず所定の固有表現を含む教師あり知識文を全て保持し、更に、教師なし知識コーパス記憶部22から、入力単語系列に含まれる所定の固有表現と同じ固有表現を含む教師なし知識文を読み出した後、上記規定数に達するまでランダムに教師なし知識文を保持し、それ以外の読み出した教師なし知識文を破棄する。
【0038】
知識挿入部33は、教師あり知識文、(所定の条件下で)教師なし知識文のデータを言語処理部34が理解可能な形式へ変換する。そのため、知識挿入部33は、サンプリング部30から取得した入力単語系列に所定の教師あり知識文を(所定の条件下で教師なし知識文も)挿入することで知識文挿入済み入力単語系列を生成する。更に、知識挿入部33は、サンプリング部30から取得した出力ラベル系列に所定の教師あり知識文を(所定の条件下で教師なし知識文も)挿入することで知識文挿入済み出力ラベル系列を生成する。
【0039】
ここで、知識挿入部33について詳細に説明する。まず、言語処理部34であるBERTへの入力データは、厳密には以下の3種類がある。
(1)単語idの系列:固定のidを用いることで、事前に定義した単語を固定のidに変換した系列(例えば、[1, 3101, 4124, 103,…])
(2)position idの系列:単語位置を表す系列(例えば、[1, 2, 3, 4,…])
(3)token type idの系列:固定のidを用いることで、事前に定義した系列種別を固定のidに変換した系列(例えば、[1, 1, 1, 1,…])
(3)の場合、通常の固有表現認識のタスクでは、[1, 1, 1, 1,…]のように全て同じ系列種別が用いられる)。また、文類似度を当てるタスクでは、1文目に「1」が割り振られ、2文目には「2」が割り振られる。BERTは「1」と「2」の2種類の系列種別しか持たない。
【0040】
本実施形態では、独自のtoken type idを用いることで、教師あり知識文に含まれているラベル情報を、下記(a),(b),(c)のように、言語処理部34へ入力データとして与える。
(a)入力単語系列のtoken type id は「1」とする。
(b)教師なし知識文のtoken type id は「2」とする。
(c)教師あり知識のtoken type id は後述の出力ラベルid「+3」とした値とする。
【0041】
この(c)の処理により、教師あり知識文に付随するラベル情報をtoken type id として表現することが可能になる
そして、知識挿入部33は、(i)入力単語系列、教師あり知識文、(及び知識なし知識文)の単語id系列、(ii)position id系列、(iii)token type id系列をそれぞれ繋げて、一つの長い単語id系列、position id系列、及びtoken type id系列とすることで、知識文挿入済み入力単語系列を生成する。
【0042】
更に、知識挿入部33は、言語処理部34による文脈の理解を促進するため、知識文挿入済み入力単語系列を生成する際に、所定の確率で知識文挿入済み入力単語系列中のすべての固有表現に対してマスク処理を行う。即ち、知識挿入部33は、ある固有表現に相当する単語idに対してマスク処理を行う。この場合、知識挿入部33は、固有表現の単語idを、事前に用意したマスク用のidに置換する。マスクする処理がない場合は、一種の丸おぼえによってある固有表現のラベルを分類することができる(NTTなら会社名等)。また、マスクの処理によって、周辺の文脈情報だけから分類を行うことが必要になる。そのため、言語処理部34は、文脈情報を分類に利用するようにして、機械学習モデル40の学習を促進することができる。なお、後述の実験例では、30%の確率で固有表現へのマスクを行なった。
【0043】
また、知識挿入部33は、事前に定義したラベルを固定のラベルidに変換して出力ラベル系列を表現する。この場合、ラベルidは0以上である。但し、ラベルidが0の場合は,そのラベルに対応する単語は分類の対象外とみなし、損失計算部への入力データとして扱われず、後述の損失計算が行われない。
【0044】
知識挿入部33が出力する知識文挿入済み出力ラベル系列は、知識文挿入済み入力単語系列と同じ長さのラベルid列である。知識文挿入済み出力ラベル系列のうち、入力単語系列の単語に対応する部分は、出力ラベル系列のidがそのまま用いられ、知識文に対応する部分は0で表現される。
【0045】
言語処理部34は、言語処理タスクで広く用いられている「BERT+線形変換」のモデル(非特許文献1参照)を利用して、知識文挿入済み入力単語系列をスコアベクトル系列に変換する。ベクトルの次元は、ラベル数であり、ある単語がそのラベルに分類されることのスコアを表す。
【0046】
更に、本実施形態の言語処理部34は、知識文を高速に処理するための機構をBERTに追加している。ここで、高速に処理することに関して、詳細に説明する。
【0047】
一般に、BERTは、self-attentionの処理を行うことで、単語間の依存関係をモデリングしている。単語間の依存関係は、入力された系列長をLとすると、L×Lの行列として表現されている。入力単語系列に挿入された知識文の数をnとすると、言語処理部34に入力された知識文挿入済み入力単語系列長は、およそ(n+1)倍になるため、行列の計算コストは(n+1)倍かかってしまうという課題が生じる。
【0048】
そこで、本実施形態では、このコストの増加を軽減するため、図4に示すように、知識文を跨る部分(○が無い部分)の依存関係を計算せずに無視する処理を行う。これにより、計算コストは(3n+1)倍で済む。
【0049】
損失計算部35は、標準的にはCross-Entropy Lossが用いられる。損失計算部35は、言語処理部34から取得したスコアベクトル系列、及び知識挿入部33から取得した知識文挿入済み出力ラベル系列を用いて、損失関数値を計算する。
【0050】
パラメータ更新部36は、誤差逆伝播勾配法を用い、損失計算部35によって計算された損失関数値に基づいて、ニューラルネットワークの機械学習モデル40の各(モデル)パラメータの勾配を計算し、パラメータの更新を行う。
【0051】
以上により、言語処理装置3の学習フェーズにおける機能構成の説明が終了する。
【0052】
<推定(推論)フェーズの機能構成>
図5は、本実施形態の言語処理装置の推定(推論)フェーズにおける機能構成図である。推定フェーズの言語処理装置3は、学習フェーズに対して、学習データ記憶部20及びパラメータ更新部36を有さずに、新たに入力部31及び出力部39を有する。なお、図3に示された学習フェーズにおける機能構成と同様の機能構成には同一の符号を付して、その説明を省略する。
【0053】
但し、推定フェーズにおける検索部32は、入力単語系列に対して事前に固有表現を抽出できない。そこで、学習フェーズにおける検索部32は、都度、入力単語系列から所定の固有表現を抽出した後、教師あり知識コーパス記憶部21(所定の条件下で教師なし知識コーパス記憶部22を含む)から、入力単語系列内の所定の固有表現と同じ所定の固有表現を含む知識文を読み出す。なお、推定フェーズの言語処理装置3は、学習済みの機械学習モデルを有する。
【0054】
入力部31は、分類対象(評価対象)データとしての入力単語系列を入力する。例えば、入力部31は、ユーザYが通信端末5から言語処理装置3に対して送信した入力単語系列のデータを言語処理装置3内に入力する。
【0055】
出力部39は、言語処理部34から取得したスコアベクトル系列中の全ての単語(ベクトル)について、スコアが最大となっている次元を計算し、その全ての単語を、スコア最大次元に相当するラベルに分類する。また、出力部39は、分類結果のラベルを並べた系列を予測ラベル系列として出力する。
【0056】
以上により、言語処理装置3の推定フェーズにおける機能構成の説明が終了する。
【0057】
〔実施形態の処理又は動作〕
続いて、図6及び図7を用いて、本実施形態の処理又は動作について詳細に説明する。お、学習(学習)フェーズと推定フェーズに分けて説明する。
【0058】
<学習(訓練)フェーズの処理>
まずは、図6を用いて、学習フェーズについて説明する。図6は、学習(学習)フェーズにおいて言語処理装置が実行する処理を示すフローチャートである。
【0059】
S11:サンプリング部30は、学習データ記憶部20に記憶されている学習データから、入力単語系列と出力単語系列をサンプリングする。
【0060】
S12:検索部32が、入力単語系列に含まれる所定の固有表現に基づいて、教師あり知識コーパス記憶部21を検索して所定の教師あり知識文を読み出す(所定の条件下で、教師なし知識コーパス記憶部22を検索して所定の教師なし知識文を読み出す)。
【0061】
S13:知識挿入部33が、入力単語系列に、所定の教師あり知識文(所定の条件下で、所定の教師なし知識文)を挿入することで知識文挿入済み入力単語系列を生成すると共に、出力ラベル系列に、所定の教師あり知識文(所定の条件下で、所定の教師なし知識文)を挿入することで知識文挿入済み出力ラベル系列を生成する。
【0062】
S14:言語処理部34が、機械学習モデル40を用い、知識文挿入済み入力単語系列をスコアベクトル系列に変換する。
【0063】
S15:損失計算部35が、知識文挿入済み出力ラベル系列とスコアベクトル系列を用い損失関数値を計算する。
【0064】
S16:パラメータ更新部36が、損失関数値を用いて機械学習モデル40の(モデル)パラメータを更新する。
【0065】
S17:所定回数の処理が終了しない場合には(NO)、上記ステップS11に戻る。一方、所定回数の処理が終了した場合には(YES)、図6に示されている学習フェーズの処理が終了する。
【0066】
<推定(推論)フェーズの処理>
続いて、図7を用いて、学習フェーズについて説明する。図7は、推定(推論)フェーズにおいて言語処理装置が実行する処理を示すフローチャートである。
【0067】
S21:入力部31が、通信端末5等から、所定の固有表現を含む入力単語系列を入力する。なお、入力単語系列に必ずしも固有表現が含まれているとは限らない。
【0068】
S22:検索部32が、入力単語系列に含まれる所定の固有表現に基づいて、教師あり知識コーパス記憶部21を検索して所定の教師あり知識文を読み出す(所定の条件下で、教師なし知識コーパス記憶部22を検索して所定の教師なし知識文を読み出す)。
【0069】
S23:知識挿入部33が、入力単語系列に、所定の教師あり知識文(所定の条件下で、所定の教師なし知識文)を挿入することで知識文挿入済み入力単語系列を生成する。
【0070】
S24:言語処理部34が、学習済みの機械学習モデル40を用い、知識文挿入済み入力単語系列をスコアベクトル系列に変換する。
【0071】
S25:出力部39が、スコアベクトル系列の中の全ての単語について、スコアが最大となっている次元を計算し、当該全ての単語をスコア最大次元に相当するラベルに分類することで、分類結果のラベル情報を並べた予測ラベル系列を出力する。
【0072】
以上により、図7に示されている学習フェーズの処理が終了する。
【0073】
〔実験例〕
続いて、図8を用いて、本実施形態の手法を用いた実験例を説明する。図8は、従来と本実施形態の手法による評価結果を示す図である。
【0074】
まず、本実施形態の手法を評価するため、我々は、Cross-NERデータセット(参考文献1参照)のPoliticsドメインでの評価を行なった。
<参考文献1> CrossNER: Evaluating Cross-Domain Named Entity Recognition (https://arxiv.org/abs/2012.04373)
また、Cross-NERデータセットにおける学習の前に、我々は、NER-BERT(参考文献2参照)の手順に従って作成したNER擬似データセットでの訓練も行なった。
<参考文献2> NER-BERT: A Pre-trained Model for Low-Resource Entity Tagging (https://arxiv.org/abs/2112.00405)
この場合、NER擬似データセット中での学習では知識の規定数を「2」、Cross-NERデータセット中での学習では知識の規定数を「9」とした。評価指標はNERで一般的なF1(PrecisionとRecallの調和平均)とし、5回の結果の平均と標準偏差を記載する。
【0075】
図8には、開発データでの評価結果が示されている。比較対象として、NER-BERT(参考文献2参照)に従って学習した機械学習モデルによる評価結果を示す。本実施形態の手法と上記NER-BERTの手法は、実験設定や利用可能なデータを共通として実験を行なっているため、本実施形態の手法は、知識文を利用することでNERの性能を向上することが示された。
【0076】
〔実施形態の主な効果〕
以上説明したように本実施形態によれば、低頻度語のように分類のために必要な情報が不足することが多い固有表現についても、知識文を補完することで分類性能を向上させることができるという効果を奏する。
【0077】
〔補足〕
以上、本発明は、上記の実施形態に限定されることなく、例えば以下に示すように、種々の変更及び応用が可能である。
【0078】
(1)言語処理装置3は、コンピュータとプログラムによって実現できるが、このプログラムを(非一時的)記録媒体に記録することも、インターネット等の通信ネットワークを介して提供することも可能である。
【0079】
(2)CPU301は、単一だけでなく、複数であってもよい。
【符号の説明】
【0080】
1 通信システム
3 言語処理装置
5 通信端末
30 サンプリング部
31 入力部
32 検索部
33 知識挿入部
34 言語処理部
35 損失計算部
36 パラメータ更新部
39 出力部
20 学習データ記憶部
21 教師あり知識コーパス記憶部
22 教師なし知識コーパス記憶部
40 機械学習モデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10