(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023036327
(43)【公開日】2023-03-14
(54)【発明の名称】計算機システム及び辞書の作成支援方法
(51)【国際特許分類】
G06F 40/242 20200101AFI20230307BHJP
【FI】
G06F40/242
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021143316
(22)【出願日】2021-09-02
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】森本 康嗣
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091CC02
(57)【要約】
【課題】ある分野の辞書を用いて、他分野の辞書を作成する。
【解決手段】特定の分野で扱われる単語及び属するカテゴリの対応付けを管理するための辞書の作成を支援するシステムは、第1分野の第1辞書に登録されている単語の第1埋め込み表現と、第2分野の第2辞書に登録する単語の候補である候補単語の第2埋め込み表現とを取得し、単語がターゲットカテゴリに属する可能性を評価するためのスコアを出力する識別器を生成し、異なる表現空間への埋め込み表現の変換を行う変換器を生成し、変換器を用いて、第2埋め込み表現を変換し、変換された第2埋め込み表現を識別器に入力して、候補単語のスコアを算出し、スコアに基づいて、候補単語及びターゲットカテゴリを対応付けたデータを第2辞書に登録する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
特定の分野で扱われる単語及び前記単語が属するカテゴリの対応付けを管理するための辞書の作成を支援する計算機システムであって、
プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを有する計算機を備え、
第1分野の第1辞書を保持し、
前記第1辞書に登録されている単語の第1埋め込み表現と、第2分野の第2辞書に登録する単語の候補である候補単語の第2埋め込み表現とを取得し、
前記第1辞書及び前記第1埋め込み表現を用いて、入力された単語がターゲットカテゴリに属する可能性を評価するためのスコアを出力する識別器を生成し、
前記候補単語の前記第2埋め込み表現と、前記候補単語と同一又は類似の、前記第1辞書に登録されている単語の前記第1埋め込み表現とを用いて、前記第2分野で扱われる単語の特徴を表す表現空間から前記第1分野で扱われる単語の特徴を表す表現空間への埋め込み表現の変換を行う変換器を生成し、
前記変換器を用いて、前記第2埋め込み表現を変換し、
変換された前記第2埋め込み表現を前記識別器に入力することによって、前記候補単語の前記スコアを算出し、
前記候補単語の前記スコアに基づいて、前記候補単語及び前記ターゲットカテゴリを対応付けたデータを前記第2辞書に登録することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記スコアの大きさに基づいてソートされた前記候補単語のリストを生成し、
前記リストを表示するための表示情報を生成して、ユーザに提示し、
前記表示情報を参照した前記ユーザによって指定された前記候補単語を含む登録指示に基づいて、前記ユーザによって指定された前記候補単語及び前記ターゲットカテゴリを対応付けたデータを前記第2辞書に登録することを特徴とする計算機システム。
【請求項3】
請求項2に記載の計算機システムであって、
前記登録指示を受信した場合、前記登録指示に含まれる前記候補単語が意味する概念と包含関係を有する前記候補単語を特定し、
前記ユーザによって指定された前記候補単語及び前記ターゲットカテゴリを対応付けたデータ、並びに、特定された前記候補単語及び前記ターゲットカテゴリを対応付けたデータを前記第2辞書に登録することを特徴とする計算機システム。
【請求項4】
請求項2に記載の計算機システムであって、
前記候補単語を選択し、
選択された前記候補単語の下位語に該当する前記候補単語の数をカウントし、
前記カウントの結果に基づいて、選択された前記候補単語の前記スコアを補正し、
前記リストを生成することを特徴とする計算機システム。
【請求項5】
計算機システムが実行する、特定の分野で扱われる単語及び前記単語が属するカテゴリの対応付けを管理するための辞書の作成支援方法であって、
前記計算機システムは、
プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを有する計算機を含み、
第1分野の第1辞書を保持し、
前記辞書の作成支援方法は、
前記プロセッサが、前記第1辞書に登録されている単語の第1埋め込み表現と、第2分野の第2辞書に登録する単語の候補である候補単語の第2埋め込み表現とを取得する第1のステップと、
前記プロセッサが、前記第1辞書及び前記第1埋め込み表現を用いて、入力された単語がターゲットカテゴリに属する可能性を評価するためのスコアを出力する識別器を生成する第2のステップと、
前記プロセッサが、前記候補単語の前記第2埋め込み表現と、前記候補単語と同一又は類似の、前記第1辞書に登録されている単語の前記第1埋め込み表現とを用いて、前記第2分野で扱われる単語の特徴を表す表現空間から前記第1分野で扱われる単語の特徴を表す表現空間への埋め込み表現の変換を行う変換器を生成する第3のステップと、
前記プロセッサが、前記変換器を用いて、前記第2埋め込み表現を変換する第4のステップと、
前記プロセッサが、変換された前記第2埋め込み表現を前記識別器に入力することによって、前記候補単語の前記スコアを算出する第5のステップと、
前記プロセッサが、前記候補単語の前記スコアに基づいて、前記候補単語及び前記ターゲットカテゴリを対応付けたデータを前記第2辞書に登録する第6のステップと、を含むことを特徴とする辞書の作成支援方法。
【請求項6】
請求項5に記載の辞書の作成支援方法であって、
前記第6のステップは、
前記プロセッサが、前記スコアの大きさに基づいてソートされた前記候補単語のリストを生成する第7のステップと、
前記プロセッサが、前記リストを表示するための表示情報を生成して、ユーザに提示する第8のステップと、
前記プロセッサが、前記表示情報を参照した前記ユーザによって指定された前記候補単語を含む登録指示に基づいて、前記ユーザによって指定された前記候補単語及び前記ターゲットカテゴリを対応付けたデータを前記第2辞書に登録する第9のステップと、を含むことを特徴とする辞書の作成支援方法。
【請求項7】
請求項6に記載の辞書の作成支援方法であって、
前記第9のステップは、
前記プロセッサが、前記登録指示を受信した場合、前記登録指示に含まれる前記候補単語が意味する概念と包含関係を有する前記候補単語を特定するステップと、
前記プロセッサが、前記ユーザによって指定された前記候補単語及び前記ターゲットカテゴリを対応付けたデータ、並びに、特定された前記候補単語及び前記ターゲットカテゴリを対応付けたデータを前記第2辞書に登録するステップと、を含むことを特徴とする辞書の作成支援方法。
【請求項8】
請求項6に記載の辞書の作成支援方法であって、
前記第7のステップは、
前記プロセッサが、前記候補単語を選択するステップと、
前記プロセッサが、選択された前記候補単語の下位語に該当する前記候補単語の数をカウントするステップと、
前記プロセッサが、前記カウントの結果に基づいて、選択された前記候補単語の前記スコアを補正するステップと、
前記プロセッサが、前記リストを生成するステップと、を含むことを特徴とする辞書の作成支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理に用いる辞書の作成を支援する技術に関する。
【背景技術】
【0002】
音声認識、翻訳、及び意味解釈等の自然言語処理では、適用分野に対応した辞書を用意する必要がある。辞書を人手で構築する場合、コストが高いという問題がある。そのため、辞書の作成を支援する技術が望まれている。
【0003】
既存の辞書を用いて、新たな辞書を作成する技術として特許文献1及び非特許文献1に記載の技術が知られている。
【0004】
特許文献1には、「単語ベクトル記憶手段を用いて、適応先用途のカテゴリ名に対応するカテゴリ名ベクトルを検索するカテゴリ名ベクトル検索手段と、辞書ベクトル記憶手段から取得した任意の単語ベクトルから、当該単語ベクトルに対応するカテゴリ名ベクトルを引算し、適応先用途のカテゴリ名に対応するカテゴリ名ベクトルを加算した候補ベクトルを算出する候補ベクトル算出手段と、候補ベクトルと、単語ベクトル記憶手段の各単語ベクトルとの間の距離が所定閾値以下又は類似度が所定閾値以上となる当該単語ベクトルを検索するベクトル距離判定手段と、検索された単語ベクトルに対応する表層表現の単語を、第2の辞書に追加する辞書生成手段とを有する。」ことが記載されている。
【0005】
非特許文献1には、異なる言語間の埋め込み表現のマッピングを学習し、当該マッピングを用いて辞書を拡張する技術が記載されている。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【非特許文献1】Tomas Mikolov, Quoc V. Le, Ilya Sutskever、「Exploiting Similarities among Languages for Machine Translation」、[online]、2013年9月17日、[令和3年7月26日検索]、インターネット〈URL:https://arxiv.org/abs/1309.4168〉
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1に記載の技術は、単語の埋め込み表現の類似性に着目した処理が行われている。しかし、辞書は、適用分野に応じたコーパスを用いて生成されるため、類似又は同一の単語であっても埋め込み表現は異なる。したがって、特定の分野の辞書を用いて異なる分野の辞書を作成する場合、特許文献1に記載の技術をそのまま用いることはできない。
【0009】
非特許文献1に記載の技術は、単語そのものの埋め込み表現を取得することは可能であるが、単語のカテゴリについては考慮されていない。そのため、単語及びカテゴリの対応付けを管理するための辞書を作成することが困難である。
【0010】
本発明は、ある分野の単語及びカテゴリの対応付けを管理するための辞書を用いた、異なる分野の辞書の作成を支援する技術を実現することを目的とする。
【課題を解決するための手段】
【0011】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、特定の分野で扱われる単語及び前記単語が属するカテゴリの対応付けを管理するための辞書の作成を支援する計算機システムであって、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるインタフェースを有する計算機を備え、第1分野の第1辞書を保持し、前記第1辞書に登録されている単語の第1埋め込み表現と、第2分野の第2辞書に登録する単語の候補である候補単語の第2埋め込み表現とを取得し、前記第1辞書及び前記第1埋め込み表現を用いて、入力された単語がターゲットカテゴリに属する可能性を評価するためのスコアを出力する識別器を生成し、前記候補単語の前記第2埋め込み表現と、前記候補単語と同一又は類似の、前記第1辞書に登録されている単語の前記第1埋め込み表現とを用いて、前記第2分野で扱われる単語の特徴を表す表現空間から前記第1分野で扱われる単語の特徴を表す表現空間への埋め込み表現の変換を行う変換器を生成し、前記変換器を用いて、前記第2埋め込み表現を変換し、変換された前記第2埋め込み表現を前記識別器に入力することによって、前記候補単語の前記スコアを算出し、前記候補単語の前記スコアに基づいて、前記候補単語及び前記ターゲットカテゴリを対応付けたデータを前記第2辞書に登録する。
【発明の効果】
【0012】
本発明によれば、システムは、ある分野の辞書(第1辞書)を用いた、異なる分野の辞書(第2辞書)の作成を支援できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0013】
【
図1】実施例1のシステムの構成の一例を示す図である。
【
図2】実施例1の辞書作成支援システムに含まれる計算機のハードウェア構成の一例を示す図である。
【
図3】実施例1の辞書作成支援システムが実行する処理の一例を説明するフローチャートである。
【
図4】実施例1の辞書作成支援システムが生成するリストのデータ構造の一例を示す図である。
【
図5A】実施例1の辞書作成支援システムが実行する辞書作成処理の一例を説明するフローチャートである。
【
図5B】実施例1の辞書作成支援システムが実行する辞書作成処理の一例を説明するフローチャートである。
【
図6】実施例1の辞書作成支援システムが提示する画面の一例を示す図である。
【
図7】実施例1の辞書作成支援システムが提示する画面の一例を示す図である。
【
図8】実施例2の辞書作成支援システムが実行する処理の一例を説明するフローチャートである。
【
図9】実施例2の辞書作成支援システムが実行するスコア修正処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0015】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【0016】
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【実施例0017】
図1は、実施例1のシステムの構成の一例を示す図である。
図2は、実施例1の辞書作成支援システムに含まれる計算機のハードウェア構成の一例を示す図である。
【0018】
システムは、辞書作成支援システム100及び端末101から構成される。なお、端末101は二つ以上でもよい。辞書作成支援システム100及び端末101は、直接、又は、LAN(Local Area Network)及びWAN(Wide Area Network)等のネットワークを介して互いに接続される。なお、ネットワークの接続方式は有線及び無線のいずれでもよい。
【0019】
端末101は、辞書作成支援システム100への入力、及び、辞書作成支援システム100からの出力の取得を行う。ユーザは、端末101を操作して、辞書作成支援システム100を利用する。
【0020】
辞書作成支援システム100は、辞書130を管理し、また、新たな辞書130の作成を支援する。辞書作成支援システム100は、
図2に示すような計算機200を含む。なお、辞書作成支援システム100は、ストレージシステム及びネットワークスイッチ等を含んでもよい。
【0021】
計算機200は、プロセッサ201、主記憶装置202、副記憶装置203、及びネットワークインタフェース204を有する。なお、計算機200は、入力装置及び出力装置を有してもよい。
【0022】
プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。プロセッサ201がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ201が当該機能部を実現するプログラムを実行していることを示す。主記憶装置202は、メモリ等であり、プロセッサ201が実行するプログラム及びプログラムが使用するデータを格納する。副記憶装置203は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等であり、データを永続的に格納する。主記憶装置202に格納されるプログラム及びデータは、副記憶装置203に格納されてもよい。この場合、プロセッサ201が副記憶装置203からプログラム及びデータを読み出し、主記憶装置202にロードする。ネットワークインタフェース204は、ネットワークを介して他の装置と通信する。
【0023】
辞書作成支援システム100は、分野ごとの辞書130を管理する。ここで、分野とは、業種及び技術分野等を表す。辞書130は、分野で扱われる単語及び単語が属するカテゴリを含むレコードを格納する。ここで、カテゴリは、単語の性質及び分類を表す。例えば、単語「ネジ」はカテゴリ「部品」に属する。
【0024】
また、辞書作成支援システム100は、新たな辞書130の作成を支援するための機能として、埋め込み表現算出部110、第1学習部111、第2学習部112、及び辞書作成支援部113を有する。
【0025】
埋め込み表現算出部110は、コーパス140を用いて、分野において扱われる単語の特徴を表す表現空間(ベクトル空間)における埋め込み表現(ベクトル)を算出する。
【0026】
第1学習部111は、既存の辞書130に対応する分野において、入力された単語のカテゴリを分類する識別器120を生成するための学習処理を実行する。
【0027】
第2学習部112は、分野間で共通する単語の埋め込み表現を用いて、各分野の表現空間の間で埋め込み表現の変換を行う変換器121を生成するための学習処理を実行する。
【0028】
辞書作成支援部113は、識別器120からの出力を用いて、新たな辞書130の作成を支援する。
【0029】
ここで、
図1及び
図3を用いて、新たな辞書130を生成するための処理の流れについて説明する。
図3は、実施例1の辞書作成支援システム100が実行する処理の一例を説明するフローチャートである。
図4は、実施例1の辞書作成支援システム100が生成するリストのデータ構造の一例を示す図である。
【0030】
以下では、分野Aの辞書130-1は作成済みであり、分野Bの辞書130-2を作成するための処理の流れについて説明する。
【0031】
ユーザは、端末101を用いて、分野Aの辞書130-1、分野Aのコーパス140-1、及び分野Bのコーパス140-2を指定し、分野Bの辞書130-2の作成を指示する。また、ユーザは、識別するカテゴリ(ターゲットカテゴリ)を指定する。なお、ターゲットカテゴリが複数指定された場合、各ターゲットカテゴリについて
図3に示す処理が実行される。
【0032】
埋め込み表現算出部110は、コーパス140-1を用いて、分野Aの表現空間における単語の埋め込み表現を算出し、また、コーパス140-2を用いて、分野Bの表現空間における単語の埋め込み表現を算出する(ステップS101)。
【0033】
このとき、埋め込み表現算出部110は、コーパス140-1から抽出された単語及び単語の埋め込み表現を含むレコードを格納する埋め込み表現情報150-1を生成し、コーパス140-2から抽出された単語及び単語の埋め込み表現を含むレコードを格納する埋め込み表現情報150-2を生成する。コーパス140-2から抽出された単語は、辞書130-2に登録する単語の候補となる。以下の説明では、コーパス140-2から抽出された単語を候補単語とも記載する。
【0034】
なお、単語の埋め込み表現は、Word2Vec等、公知の技術を用いればよいため詳細な説明は省略する。
【0035】
なお、埋め込み表現は予め生成しておいてもよい。この場合、埋め込み表現算出部110を省略することができる。また、ステップS101では、辞書作成支援部113が、埋め込み表現情報150を取得する。
【0036】
第1学習部111は、辞書130-1及び埋め込み表現情報150-1を用いて、単語がターゲットカテゴリの属するか否かを識別する識別器120を生成する(ステップS102)。
【0037】
例えば、第1学習部111は、埋め込み表現情報150-1から、コーパス140-1から抽出された単語の埋め込み表現を取得する。第1学習部111は、辞書130-1を参照して、各単語に、単語がターゲットカテゴリに属するか否かを示すフラグを付与する。第1学習部111は、単語の埋め込み表現及びフラグを含む学習データを生成する。第1学習部111は、学習データを用いた学習処理を実行することによって、入力された単語がターゲットカテゴリに属するか否かを判定するためのスコアを算出する識別器120を生成する。学習処理は公知の技術であるため詳細な説明は省略する。
【0038】
識別器120は、例えば、ニューラルネットワークである。本実施例では、スコアの値が1に近いほどターゲットカテゴリに属する可能性が高いことを示すスコア(例えば、確率値)を算出する識別器120が生成されるものとする。
【0039】
次に、第2学習部112は、埋め込み表現情報150-1及び埋め込み表現情報150-2を用いて、分野Bの表現空間における候補単語の埋め込み表現を、分野Aの表現空間の埋め込み表現に変換する変換器121を生成する(ステップS103)。
【0040】
具体的には、第2学習部112は、コーパス140-1及びコーパス140-2の各々から抽出された単語を解析して、同一又は類似の単語を特定する。第2学習部112は、特定された単語の各分野の埋め込み表現を用いて変換器121を生成する。例えば、二つの埋め込み表現の距離の2乗が最小となるような変換器121が生成される。
【0041】
次に、辞書作成支援部113は、候補単語のループ処理を開始する(ステップS104)。辞書作成支援部113は、候補単語の中から一つの候補単語を選択する。
【0042】
次に、辞書作成支援部113は、埋め込み表現情報150-2から分野Bの表現空間の候補単語の埋め込み表現を取得する(ステップS105)。
【0043】
次に、辞書作成支援部113は、取得した埋め込み表現を変換器121に入力することによって、当該埋め込み表現を、分野Aの表現空間の埋め込み表現に変換する(ステップS106)。
【0044】
次に、辞書作成支援部113は、変換された候補単語の埋め込み表現を識別器120に入力することによってスコアを算出する(ステップS107)。
【0045】
次に、辞書作成支援部113は、候補単語及びスコアを対応付けたレコードをリスト400に登録する(ステップS108)。
【0046】
図4に示すように、リスト400は、単語401及びスコア402を含むレコードを格納する。単語401は、単語を格納するフィールドである。スコア402は、識別器120から得られたスコアを格納するフィールドである。なお、レコードに含まれるフィールドは前述したものに限定されない。
【0047】
次に、辞書作成支援部113は、全ての候補単語について処理が完了したか否かを判定する(ステップS109)。
【0048】
全ての候補単語について処理が完了していない場合、辞書作成支援部113は、ステップS104に戻り、同様の処理を実行する。
【0049】
全ての候補単語について処理が完了した場合、辞書作成支援部113は、スコアに基づいてリスト400のレコードをソートする(ステップS110)。例えば、辞書作成支援部113は、スコアの大きい順に、リスト400のレコードをソートする。
【0050】
次に、辞書作成支援部113は、リスト400を用いて辞書作成処理を実行し(ステップS111)、その後、一連の処理を終了する。辞書作成処理の詳細は後述する。
【0051】
なお、処理の順番は整合性を保てる範囲で入れ替えることができる。
【0052】
図5A及び
図5Bは、実施例1の辞書作成支援システム100が実行する辞書作成処理の一例を説明するフローチャートである。
図6及び
図7は、実施例1の辞書作成支援システム100が提示する画面の一例を示す図である。
【0053】
図5Aは、辞書作成支援システム100が自動的に辞書130-2を作成する場合の辞書作成処理を示している。
【0054】
辞書作成支援部113は、リスト400を参照し、登録する候補単語を選択する(ステップS201)。
【0055】
例えば、辞書作成支援部113は、スコア402の値が閾値より大きい候補単語を選択する。また、辞書作成支援部113は、スコア402の値が大きい順に、N個の候補単語を選択する。Nは1以上の整数である。
【0056】
次に、辞書作成支援部113は、選択された候補単語のループ処理を開始する(ステップS202)。辞書作成支援部113は、選択された候補単語の中から一つの候補単語を選択する。
【0057】
次に、辞書作成支援部113は、リスト400に登録されている単語の中に、選択された候補単語の下位語が存在するか否かを判定する(ステップS203)。
【0058】
ここで、下位語とは、ある単語(上位語)が意味する概念の範囲に含まれ、かつ、より狭い範囲の概念を意味する単語である。下位語を検索する方法は、公知の技術を用いればよいため詳細な説明は省略するが、例えば、ある概念を形成する文字列(主辞)を包含する単語を検索する方法が考えられる。選択された候補単語が「ベアリング」の場合、「ボールベアリング」が下位語として検索される。
【0059】
選択された候補単語の下位語が存在しない場合、辞書作成支援部113は、選択された候補単語を辞書130-2に登録し(ステップS204)、ステップS206に進む。
【0060】
具体的には、辞書作成支援部113は、辞書130-2に、選択された候補単語及びターゲットカテゴリを対応付けたレコードを登録する。
【0061】
選択された候補単語の下位語が存在する場合、辞書作成支援部113は、選択された候補単語及び下位語を辞書130-2に登録し(ステップS205)、ステップS206に進む。
【0062】
具体的には、辞書作成支援部113は、辞書130-2に、選択された候補単語及びターゲットカテゴリを対応付けたレコードと、下位語及びターゲットカテゴリを対応付けたレコードとを登録する。
【0063】
ステップS206では、辞書作成支援部113は、選択された全ての候補単語について処理が完了したか否かを判定する(ステップS206)。
【0064】
選択された全ての候補単語について処理が完了していない場合、辞書作成支援部113は、ステップS202に戻り、同様の処理を実行する。
【0065】
選択された全ての候補単語について処理が完了した場合、辞書作成支援部113は、辞書作成処理を終了する。
【0066】
図5Bは、辞書作成支援システム100及びユーザとの間でやりとりを行いながら辞書130-2を作成する場合の辞書作成処理を示している。
【0067】
辞書作成支援部113は、端末101に、リスト400を表示するため表示情報を送信することによって、ユーザにリスト400を提示する(ステップS301)。
【0068】
例えば、端末101には
図6に示すような画面600が表示される。画面600は、リスト表示欄601及び登録ボタン602を含む。
【0069】
リスト表示欄601は、リスト400に登録されている候補単語を表示する欄である。リスト表示欄601には、ソート順にしたがって候補単語が表示される。また、リスト表示欄601には、辞書に登録する候補単語を選択するためのチェック欄が表示される。登録ボタン602は、登録指示を送信するための操作ボタンである。
【0070】
ユーザは、リスト表示欄601を参照して、辞書130-2に登録する候補単語を選択する。ユーザは、候補単語の選択が終了した場合、登録ボタン602を押下する。
【0071】
辞書作成支援部113は、端末101から送信された登録指示を受信した場合(ステップS302)、ユーザによって指定された候補単語のループ処理を開始する(ステップS303)。辞書作成支援部113は、ユーザによって指定された候補単語の中から一つの候補単語を選択する。
【0072】
次に、辞書作成支援部113は、リスト400に登録されている単語の中に、選択された候補単語の下位語が存在するか否かを判定する(ステップS304)。ステップS304の処理はステップS203の処理と同一である。
【0073】
選択された候補単語の下位語が存在しない場合、辞書作成支援部113は、選択された候補単語を辞書130-2に登録し(ステップS305)、ステップS307に進む。ステップS305の処理はステップS204の処理と同一である。
【0074】
選択された候補単語の下位語が存在する場合、辞書作成支援部113は、選択された候補単語及び下位語を辞書130-2に登録し(ステップS306)、ステップS307に進む。ステップS306の処理はステップS205の処理と同一である。
【0075】
ステップS307では、辞書作成支援部113は、ユーザによって指定された全ての候補単語について処理が完了したか否かを判定する(ステップS307)。
【0076】
ユーザによって指定された全ての候補単語について処理が完了していない場合、辞書作成支援部113は、ステップS303に戻り、同様の処理を実行する。
【0077】
ユーザによって指定された全ての候補単語について処理が完了した場合、辞書作成支援部113は辞書作成処理を終了する。
【0078】
なお、辞書作成支援部113は、ステップS306において、
図7に示すような画面700を提示し、ユーザが登録する下位語を選択できるようにしてもよい。画面700は、下位語表示欄701、実行ボタン702、及び取消ボタン703を含む。
【0079】
下位語表示欄701は、検索された下位語を表示する欄である。下位語表示欄701には、下位語とともに、辞書に登録する下位語を選択するためのチェック欄が表示される。実行ボタン702は、選択した下位語の登録指示を送信するための操作ボタンである。取消ボタン703は、下位語の登録取消指示を出力するための操作ボタンである。
【0080】
辞書作成支援部113は、下位語の登録指示を受信した場合、選択された候補単語及び選択された下位語を辞書130-2に登録し、下位語の登録取消指示を受信した場合、選択された候補単語のみを辞書130-2に登録する。
【0081】
なお、下位語を上位語に置き換えた辞書作成処理でもよい。すなわち、選択された単語が意味する概念と包含関係を有する単語を特定できればよい。
【0082】
実施例1によれば、ユーザは、辞書作成支援システム100を利用することによって、既存の辞書130から異なる分野の辞書130を作成することができる。辞書作成支援システム100は、変換器121を用いることによって、既存の辞書130に対応する分野の表現空間における単語の埋め込み表現を取得できる。また、辞書作成支援システム100は、識別器120を用いることによって、目的の分野の単語のカテゴリを特定することができる。
【0083】
一般的に、出現頻度が低い単語の埋め込み表現の精度は低いため、識別器による識別精度も低くなる。そこで、辞書作成支援システム100は、ある単語が登録された場合、当該単語と意味の概念において包含関係を有する他の単語も同様に登録する。これによって、効率的に、精度の高い辞書130を生成することができる。
ステップS109において、全ての候補単語について処理が完了した場合、辞書作成支援部113は、スコア修正処理を実行する(ステップS151)。その後、辞書作成支援部113は、スコアに基づいてリスト400のレコードをソートし(ステップS110)、辞書作成処理を実行する(ステップS111)。
次に、辞書作成支援部113は、特定された上位語のループ処理を開始する(ステップS402)。辞書作成支援部113は、特定された上位語の中から一つの上位語を選択する。
次に、辞書作成支援部113は、リスト400に登録されている候補単語の中から選択した上位語の下位語を検索し、検索された下位語の数をカウントする(ステップS403)。
次に、辞書作成支援部113は、下位語の数に基づいて、選択した上位語のスコアを修正する(ステップS404)。例えば、辞書作成支援部113は、上位語の現在のスコアに下位語の数を乗算する。例えば、識別器としてK-近傍法が用いられている場合、スコアは、各事例が正例である確率の近似値となっている。スコアが前記のような確率である場合には、上位語のスコアと下位語数との乗算値は、1個の上位語をチェックしたときに、見つけることができる正例である事例(下位語)の数の期待値となっている。すなわち、修正後のスコアは、1回のチェックで正例である事例を見つける可能性を最大化している。識別器によっては、スコアが確率ではない場合もあり得る。例えば、-1から1の範囲のスコアを出力する識別器が存在する。スコアが確率でない場合には、修正後のスコアを前記のように解釈することができないため、適切でない値が出力される場合がある。このような場合には、スコアを確率に変換した後、乗算することもできる。具体的には、教師データを識別器によるスコアの順にランキングし、ランキング結果上で、各スコアの近傍に存在する正例の数を求めることで、確率の近似値を計算できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。