JP7475592B2 - テキスト情報の中からターゲット単語と対応する単語を識別する方法(method for identify a word corresponding to a target word in text information) - Google Patents

テキスト情報の中からターゲット単語と対応する単語を識別する方法(method for identify a word corresponding to a target word in text information) Download PDF

Info

Publication number
JP7475592B2
JP7475592B2 JP2023114241A JP2023114241A JP7475592B2 JP 7475592 B2 JP7475592 B2 JP 7475592B2 JP 2023114241 A JP2023114241 A JP 2023114241A JP 2023114241 A JP2023114241 A JP 2023114241A JP 7475592 B2 JP7475592 B2 JP 7475592B2
Authority
JP
Japan
Prior art keywords
words
target word
determining
text information
edit distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023114241A
Other languages
English (en)
Other versions
JP2024012152A (ja
Inventor
ソンミン パク
Original Assignee
アクションパワー コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アクションパワー コーポレイション filed Critical アクションパワー コーポレイション
Publication of JP2024012152A publication Critical patent/JP2024012152A/ja
Application granted granted Critical
Publication of JP7475592B2 publication Critical patent/JP7475592B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)
  • Signal Processing (AREA)

Description

本発明は、単語を識別する方法に係り、より具体的にはテキスト情報の中からターゲット単語と対応する単語を識別する技術に関する。
自動音声認識(ASR)、コンピューター音声認識又は音声-テキスト変換(Speech-to-text)とも呼ばれている音声認識は、プログラムが人間の音声をテキスト形式に処理できるようにサポートする機能である。音声認識の結果として出力された文章は、完璧なテキストではない場合が多い。例えば、発話単語は「こんやく(婚約)」であるが、STT(Speech-to-text)の結果として出力された文章には、「こんにゃく(蒟蒻)」、「こんわく(困惑)」、「こうやく(公約)」等が含まれる場合がある。ユーザーは、STT(Speech-to-text)の結果として作成された文章を検討する過程において、単語を「こんやく(婚約)」に一括変更したい場合でも、一々確認しながら変更していかなければならないという手間がかかる。
一方、テキスト要約(text summarization)は、原本テキストを基に短いテキストを生成することが可能である。テキスト要約モデルの作動方式は、大きく分けて1)文書から抽出した単語を組み合わせて文章を生成する抽出要約(extraction)と、2)意味が変わらない範囲で当該文書で使われていない単語又は表現を利用して文章を作成する生成要約(abstraction)の2つに区分することが可能である。しかし、抽出要約方式で選別された単語が文書を十分に代表できない場合や、選別された複数の単語が互いに呼応していない場合、それを解決できないという問題点がある。
従って、本開示においては、音声認識の結果として生成された文章、テキスト要約によって出力された文章等において、ユーザーが確認しようとするキーワードと、発音が似ているキーワードを検索する方法を提案する。
大韓民国登録特許第10-1711941号(2017.02.24)は、音声認識システムにおいて類似度に基づいて語彙外単語を生成する方法について開示している。
本開示は、テキスト情報(例えば、音声認識の結果として出力された文章、テキスト生成モデルによって生成された文章等)の中から、ターゲット単語と対応する単語(例えば、類似単語)を識別する方法を提供することを解決課題とする。
また、本開示は、一部の実施例において、STT(Speech-to-text)結果から、ユーザーが確認しようとするターゲットキーワードと発音が似ている複数のキーワードを検索する過程において発生し得る問題を解決することを目的とする。
しかし、本開示が解決しようとする技術的課題は、前述の技術的課題に限られるわけではなく、以下に説明する内容から、当業者にとって自明な範囲内において、多様な技術的課題が含まれることが可能であるものとする。
前述の課題を実現するための本開示の一実施例に基づき、コンピューティング装置により実行される方法が開示される。前記方法は、ターゲット単語を決定する段階;前記ターゲット単語に係る編集距離に係るしきい値(threshold)を決定する段階;テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定する段階;及び前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する段階を含むことが可能である。
代案として、前記ターゲット単語を決定する段階は、予め決められた分野のキーワード辞書に基づき前記ターゲット単語を決定する段階;前記テキスト情報における出現頻度がしきい値以上である単語を前記ターゲット単語として決定する段階;又は、ユーザーインターフェースを通して受信した入力情報に基づいて前記ターゲット単語を決定する段階のうち、少なくとも1つを含むことが可能である。
代案として、前記テキスト情報は音声認識を通じて生成されたテキスト情報を含み、前記ターゲット単語を決定する段階は、前記音声認識に係る信頼度(confidence)に基づいて前記ターゲット単語を決定する段階を含むことが可能である。
代案として、前記テキスト情報は音声認識を通じて生成されたテキスト情報を含み、前記ターゲット単語と対応する単語を識別する段階は、前記ターゲット単語に関連する音声情報と前記テキスト情報に関連する音声情報との間における類似度を算出する段階;及び前記算出した類似度を追加で考慮し、前記ターゲット単語と対応する単語を識別する段階をさらに含むことが可能である。
代案として、前記編集距離に係るしきい値を決定する段階は、前記ターゲット単語の長さに応じて前記編集距離に係るしきい値を動的に決定する段階を含むことが可能である。
代案として、前記編集距離に係るしきい値を動的に決定する段階は、前記ターゲット単語の長さと予め決められた比率しきい値との間の演算に基づき、前記編集距離に係るしきい値を動的に決定する段階を含むことが可能である。
代案として、前記編集距離に係るしきい値を決定する段階は、絶対しきい値を決定する段階をさらに含み、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定する段階は、前記ターゲット単語との編集距離が前記動的に決定されたしきい値以下であり、且つ、前記絶対しきい値以下である単語を決定する段階をさらに含むことが可能である。
代案として、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定する段階は、前記決定されたしきい値がkである場合、前記ターゲット単語をk+1の要素に分割する段階;前記テキスト情報の中から前記k+1の要素を探索する段階;前記テキスト情報の中から前記k+1の要素のうち少なくとも1つの要素が見つかったら、見つかった要素に基づき、単語を識別する段階;及び前記テキスト情報の中から前記k+1の要素が見つからなかったら、編集距離が前記しきい値以下である単語が存在しないと決定する段階を含むことが可能である。
代案として、前記ターゲット単語と対応する単語は発音又はテキストに基づいて決定し、前記編集距離は発音又はテキストに基づいて演算することが可能である。
代案として、前記編集距離は発音に基づいて決定され、前記ターゲット単語との編集距離が前記しきい値以下である単語を識別する段階は、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換する段階;前記テキスト情報に関連する複数の発音記号のうち、前記ターゲット単語に関連する複数の発音記号との編集距離が前記しきい値以下である発音記号を識別する段階;及び前記識別された発音記号に基づいて前記単語を識別する段階を含むことが可能である。
代案として、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換する段階は、前記テキスト情報に含まれている単語及び前記ターゲット単語をIPA(international Phonetic Alphabet)のアルファベットに変換する段階;変換されたIPAのアルファベットをローマ字表記に変換する段階;変換されたローマ字表記を字素単位に分離する段階;及び字素単位に分離されたものを音素単位に変換する段階を含むことが可能である。
代案として、前記編集距離はテキストに基づいて決定され、前記ターゲット単語との編集距離が前記しきい値以下である単語を識別する段階は、前記テキスト情報に含まれている単語及び前記ターゲット単語を字素単位に変換する段階;前記テキスト情報に関連する複数の字素のうち、前記ターゲット単語に関連する字素との編集距離が前記しきい値以下である字素を識別する段階;及び前記識別された字素に基づいて前記単語を識別する段階を含むことが可能である。
代案として、前記ターゲット単語との編集距離が前記しきい値以下である単語を識別する段階は、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換する段階を含み、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換する段階は、分かち書き又は文章符号のうち、少なくとも1つを考慮するか否かを選択する段階を含むことが可能である。
前述のような課題を実現するための本開示の一実施例に基づき、コンピューター可読保存媒体に保存されたコンピュータープログラムが開示される。前記コンピュータープログラムは、1つ以上のプロセッサーにおいて実行される場合、テキスト情報の中からターゲット単語と対応する単語を識別するための以下の動作を実行するようにし、前記動作は:ターゲット単語を決定する動作;前記ターゲット単語に係る編集距離に係るしきい値を決定する動作;テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定する動作;及び前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する動作を含むことが可能である。
前述の課題を解決するための本開示の一実施例に基づくコンピューティング装置が開示される。前記装置は、少なくとも1つのプロセッサー;及びメモリーを含み、前記少なくとも1つのプロセッサーは、ターゲット単語を決定し;前記ターゲット単語に係る編集距離に係るしきい値を決定し;テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定し;且つ、前記決定された単語に基づき前記ターゲット単語と対応する単語を識別するように構成することが可能である。
本開示は、テキスト情報(例えば、音声認識の結果として出力された文章、テキスト生成モデルによって生成された文章等)の中から、ターゲット単語と対応する単語(例えば、類似単語)を識別する方法を提供することが可能である。
また、本開示は、STT(Speech-to-text)等の音声認識を適用する場合、さらなる技術的効果を具現化することが可能である。例えば、本開示は、STT(Speech-to-text)によって出力された完ぺきではないテキスト結果に対し、編集距離に基づいて類似単語を決定することで、ユーザーが修正するとき、より簡単に複数の類似単語を一括変更できるテキスト処理方法を提供することが可能である。また、本開示は、STT(Speech-to-textによって出力されたテキスト結果に対して類似単語検索を行うときに発生し得る間違いのケース(例えば、スペーシング、文章符号)を、検索結果から外すことで、ユーザーに対してより意図に合った類似単語検索結果を提供することが可能である。また、本開示は、ターゲット単語の長さに応じて、類似単語を決定するための編集距離のしきい値をダイナミック(dynamic)に決定することで、類似単語を決定する過程においてリソースを最適化することが可能であり、ユーザーごとの音声に対応するターゲット単語-類似単語のペアを利用してSTT(Speech-to-text)モデルをカスタマイズ(customizing)することで、個人に合わせたSTT(Speech-to-text)モデルを生成することが可能である。
一方、本開示の効果は、前述の効果に限られるわけではなく、以下に説明する内容から、当業者にとって自明な範囲内において、多様な効果が含まれることが可能である。
図1は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するためのコンピューティング装置のブロック構成図である。 図2は、本開示の一実施例における、神経回路網を示す概念図である。 図3は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するためのコンピューティング装置に含まれているモジュールを概略的に示すブロック構成図である。 図4は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するために編集距離がk以下である区間を探索する実施例を概略的に示すフローチャートである。 図5は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するために発音に基づいてターゲット単語を決定する実施例を概略的に示すフローチャートである。 図6は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するためにテキストに基づいてターゲット単語を決定する実施例を概略的に示すフローチャートである。 図7は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するために分かち書き又は文章符号を含めるかいなかを選択する実施例を概略的に示すフローチャートである。 図8は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するためにユーザーインターフェースに出力される実施例を示す図面である。 図9は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するための方法を示すフローチャートである。 図10は、本開示の一実施例における、コンピューティング環境の概念図である。
多様な実施例が以下に図面を参照しながら説明されるが、図面を通して類似の図面番号は類似の構成要素を表すために使われる。本明細書において多様な説明が本開示に対する理解を容易にするために示される。しかし、これらの実施例がこれらの具体的な説明がなくても間違いなく実施されることができる。
本明細書において、「コンポーネント」、「モジュール」、「システム」等の用語は、コンピューター関連エンティティ、ハードウェア、ファームウェア、ソフトウェア、ソフトウェアとハードウェアとの組み合わせ、またはソフトウェアの実行を指す。例えば、コンポーネントは、プロセッサー上で実行される処理手順(procedure)、プロセッサー、オブジェクト、実行スレッド、プログラム、及び/またはコンピューターになり得るが、これらに限定されるものではない。例えば、コンピューティング装置で実行されるアプリケーションとコンピューティング装置は、両方ともコンポーネントになり得る。1つ以上のコンポーネントは、プロセッサー及び/または実行スレッドの中に常駐することができ、1つのコンポーネントは1つのコンピューターの中でローカル化されることができ、または2つ以上のコンピューターに配分されることもできる。また、このようなコンポーネントは、その内部に保存されている多様なデータ構造を持つ、多様なコンピューター可読媒体から実行することができる。コンポーネントは、例えば1つ以上のデータパケットを持つ信号(例えば、ローカルシステム、分散システムにおいて他のコンポーネントと相互作用する1つのコンポーネントからのデータ及び/または信号を通じて、他のシステムと、インターネットのようなネットワークを介して伝送されるデータ)によってローカル及び/または遠隔処理等を通じて通信することができる。
用語「または」は、排他的な「または」ではなく、内包的な「または」を意味する意図で使われる。つまり、特に特定されておらず、文脈上明確ではない場合、「XはAまたはBを利用する」は、自然な内包的置換のうち1つを意味するものとする。つまり、XがAを利用したり;XがBを利用したり;またはXがA及びBの両方を利用する場合、「XはAまたはBを利用する」は、これらのいずれにも当てはまるとすることができる。また、本明細書における「及び/または」という用語は、取り挙げられた関連アイテムのうち、1つ以上のアイテムの可能なすべての組み合わせを指し、含むものと理解されるべきである。
また、述語としての「含む(含める)」及び/または修飾語として「含む(含める)」という用語は、当該特徴及び/または構成要素が存在することを意味するものと理解されるべきである。ただし、述語としての「含む(含める)」及び/または修飾語として「含む(含める)」という用語は、1つ以上の他のさらなる特徴、構成要素及び/またはこれらのグループが存在すること、または追加されることを排除しないものと理解されるべきである。また、特に数が特定されていない場合や、単数の形を示すことが文脈上明確でない場合、本明細書と請求範囲において単数は、一般的に「1つまたはそれ以上」を意味するものと解釈されるべきである。
そして、「A又はBのうち少なくとも1つ」という用語については、「Aだけを含む場合」、「Bだけを含む場合」、「AとBの組み合わせの場合」を意味するものと解釈されたい。
当業者は、さらに、ここに開示される実施例に係るものとして説明された多様な例示的論理的ブロック、構成、モジュール、回路、手段、ロジック及びアルゴリズム段階が、電子ハードウェア、コンピューターソフトウェア、またはその両方の組み合わせによって実現されることができることを認識すべきである。ハードウェアとソフトウェアとの相互交換性を明確に例示するために、多様な例示的コンポーネント、ブロック、構成、手段、ロジック、モジュール、回路及び段階が、それらの機能性の側面で一般的に上述された。そのような機能性がハードウェアとして実装されるか或いはソフトウェアとして実装されるかは、全般的なシステムに係る特定のアプリケーション(application)及び設計制限によって決まる。熟練した技術者は、個々の特定アプリケーションのために多様な方法で説明された機能性を実現できる。ただし、そのような実現に係る決定が本開示内容の領域を逸脱するものと解釈されてはならない。
ここに示す実施例に係る説明は、本開示の技術分野において通常の知識を持つ者が本発明を利用したり、または実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者にとっては明確であり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
本開示において、ネットワーク関数、人工神経回路網及びニューラルネットワーク(neural network)は、相互置換可能に用いることが可能である。
図1は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するためのコンピューティング装置のブロック構成図である。
図1に図示されたコンピューティング装置(100)の構成は、簡略化して示した例示に過ぎない。本開示の一実施例において、コンピューター装置(100)には、コンピューター装置(100)のコンピューティング環境を実装するための他の構成が含まれることが可能であり、開示されている構成のうち一部だけでコンピューター装置(100)を構成することも可能である。
コンピューター装置(100)は、プロセッサー(110)、メモリー(130)、ネットワーク部(150)を含むことができる。
本開示の一実施例において、プロセッサー(100)は、1つ以上のコアで構成されることが可能であり、コンピューティング中央処理装置(CPU:central processing unit)、汎用グラフィック処理装置(GPGPU:general purpose graphics processing unit)、テンサー処理装置(TPU:tensor processing unit)等のデータ分析、ディープラーニングのためのプロセッサーを含むことができる。プロセッサー(110)は、メモリー(130)に保存されたコンピュータープログラムを読み取り、本開示の一実施例における機械学習のためのデータ処理を実行することができる。本開示の一実施例に基づき、プロセッサー(110)は、ニューラルネットワークの学習のための演算を行うことができる。プロセッサー(110)は、ディープラーニング(DL:deep learning)において、学習のための入力データの処理、入力データからのフィーチャーの抽出、誤差計算、逆伝播(backpropagation)を利用したニューラルネットワークの重みの更新等のニューラルネットワークの学習のための計算を実行することができる。プロセッサー(110)のCPUとGPGPUとTPUとのうち、少なくとも1つが、ネットワーク関数の学習を処理できる。例えば、CPUとGPGPUとがともにネットワーク関数の学習やネットワーク関数を利用したデータの分類を行うことができる。なお、本開示の一実施例において、複数のコンピューティング装置のプロセッサーを一緒に使ってネットワーク関数の学習やネットワーク関数を利用したデータ分類を行うことができる。また、本開示の一実施例における、コンピューティング装置において実行されるコンピュータープログラムは、CPU、GPGPU又はTPUで実行可能なプログラムになり得る。
本開示の一実施例におけるプロセッサー(110)は、取得されたテキスト情報の中からターゲット単語を決定し、前記ターゲット単語に係る編集距離に係るしきい値(threshold)を決定し、テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定することが可能であり、前記決定された単語に基づき前記ターゲット単語と対応する単語を識別することが可能である。また、プロセッサー(110)は、識別された単語を基に後処理を行うことが可能である。例えば、プロセッサー(110)は、前記ターゲット単語と対応する複数の単語を識別することも可能であり、識別された複数の単語を一括変更(例えば、識別された複数の単語をターゲット単語に一括変更、識別された複数の単語及びターゲット単語を複数の単語のうち、1つの単語に一括変更等)することも可能である。また、プロセッサー(110)は、ユーザーが確認しようとするターゲット単語と発音が似ている複数の単語を検索する過程において発生し得る問題を解決することが可能である。
本開示の一実施例において、メモリー(130)は、プロセッサー(110)が生成したり、決定した任意の形態の情報及びネットワーク部(550)が受信した任意の形態の情報を保存することができる。
本開示の一実施例において、メモリー(130)は、フラッシュメモリータイプ(flash memory type)、ハードディスクタイプ(hard disk type)、マルチメディアカードマイクロタイプ(multimedia card micro type)、カードタイプのメモリー(例えばSD又はXDメモリー等)、ラム(Random Access Memory、RAM)、SRAM(Static Random Access Memory)、ロム(Read-Only Memory、ROM)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、PROM(Programmable Read-Only Memory)、磁気メモリー、磁気ディスク、光ディスクのうち少なくとも1つのタイプの保存媒体を含むことができる。コンピューティン装置(100)は、インターネット(internet)上で前記メモリー(130)の保存機能を実行するウェブストレージ(web storage)と連携して動作することも可能である。前述のメモリーに係る記述は、例示に過ぎず、本開示はこれらに限定されない。
本開示の一実施例におけるネットワーク部(150)は、公衆電話交換網(PSTN:Public Switched Telephone Network)、xDSL(x Digital Subscriber Line)、RADSL(Rate Adaptive DSL)、MDSL(Multi Rate DSL)、VDSL(Very High Speed DSL)、UADSL(Universal Asymmetric DSL)、HDSL(High Bit Rate DSL)及び近距離通信網(LAN)等のような多様な有線通信システムを使用することができる。
また、本明細書におけるネットワーク部(150)は、CDMA(Code Division Multi Access)、TDMA(Time Division Multi Access)、FDMA(Frequency Division Multi Access)、OFDMA(Orthogonal Frequency Division Multi Access)、SC-FDMA(Single Carrier-FDMA)及びその他のシステムのような多様な無線通信システムを利用することができる。
本開示におけるネットワーク部(150)は、有線及び無線等のような通信の様態を問わずに構成されることができ、短距通信網(PAN:Personal Area Network)、近距離通信網(WAN:Wide Area Network)等の多様な通信網になり得る。また、前記ネットワークは、公知のワールドワイドウェブ(WWW:World Wide Web)になり得る他、赤外線(IrDA:Infrared Data Association)又は、ブルートゥース(Bluetooth:登録商標)のように、短距離通信に利用される無線伝送技術を利用することもできる。
本明細書において説明された技術は、前記のネットワークだけでなく、他のネットワークで使われることもできる。’
本開示の一実施例におけるネットワーク部(150)は、任意の形を有する公知の有無線通信システムと連携して作動することが可能である。
例えば、ネットワーク部(150)は、テキスト情報を外部システムから受信することが可能である。この場合、データベースから受信する情報は、ターゲット単語と対応する単語を識別するためのテキスト情報になり得る。テキスト情報は、上述の例示の情報を含むことが可能であるが、上述の例示に限らず、通常の技術者が理解できる範囲内で多様な構成が存在し得る。
また、ネットワーク部(150)は、プロセッサー(110)により処理された情報やユーザーインターフェース等を、他の端末との通信を通じて送受信することが可能である。例えば、ネットワーク部(150)は、プロセッサー(110)により生成されたユーザーインターフェース等を、クライアント(e.g.ユーザー端末)に提供することが可能である。また、ネットワーク部(150)は、クライアントに対して行われたユーザーによる外部入力を受信し、プロセッサー(110)に転送できる。この時、プロセッサー(110)は、ネットワーク部(150)から受け取ったユーザーの外部入力をもとに、ユーザーインターフェースを通して提供される情報の出力、修正、変更、追加等の動作を処理できる。
一方、本開示の一実施例において、コンピューティング装置(100)は、クライアントとの通信を通して情報を送受信するコンピューティングシステムとして、サーバーを含むことが可能である。この時、クライアントは、サーバーにアクセス(access)できる任意の形の端末になり得る。例えば、サーバーであるコンピューティング装置(100)は、外部のデータベースからテキスト情報を受信し、ターゲット単語と類似した単語を決定し、決定された単語に基づきターゲット単語と対応する単語を、ユーザーインターフェースを通してユーザー端末に提供することが可能である。この時、ユーザー端末は、サーバーであるコンピューティング装置(100)から受信したユーザーインターフェースを出力し、ユーザーとの相互作用を通じて情報の入力を受けたり、処理することが可能である。
追加の実施例において、コンピューティング装置(100)は、任意のサーバーにおいて生成されたデータリソースを受け取り、追加の情報処理を行う任意の形の端末を含むことも可能である。
図2は、本開示の一実施例において、医療データに対する診断関連情報を提供するために用いられるネットワーク関数を示す概略図である。
本明細書の全体を通して、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワーク(neural network)は、同一の意味で用いることができる。神経回路網は、一般的にノードと呼ばれる相互連結された計算単位の集合で構成されることが多い。このようなノードは、ニューロン(neuron)と称することもできる。神経回路網は、少なくとも1つ以上のノードを含めて構成される。神経回路網を構成するノード(またはニューロン)は1つ以上のリンクによって相互連結されることが可能である。
神経回路網において、リンクを介して繋がっている1つ以上のノードは、相対的に入力ノード及び出力ノードの関係を形成することができる。入力ノード及び出力ノードの概念は相対的なものであり、あるノードに対して出力ノードとなる任意のノードは、他のノードとの関係においては入力ノードになり得るが、その逆も成立する。前述のように、入力ノードと出力ノードとの関係はリンクを中心にして成立することができる。1つの入力ノードに1つ以上の出力ノードがリンクを介して繋がることができ、その逆も成立する。
1つのリンクを介して繋がっている入力ノード及び出力ノードの関係において、出力ノードのデータは入力ノードに入力されたデータに基づきその値が決められることが可能である。ここで入力ノードと出力ノードとを相互連結するノードは加重値(weight)を持つことができる。加重値は可変的なものになり得るが、神経回路網が所望の機能を行うために、利用者またはアルゴリズムによって変わることが可能である。例えば、1つの出力ノードに1つ以上の入力ノードが各リンクによって相互連結されている場合、出力ノードは前記出力ノードに繋がっている入力ノードに入力された値及び各入力ノードに対応するリンクに設定された加重値に基づき出力ノードの値を決定することができる。
前述のように、神経回路網は、1つ以上のノードが1つ以上のリンクを介して相互連結され神経回路網の中で入力ノードと出力ノードの関係を形成する。神経回路網において、ノードとリンクの数及びノードとリンクとの間の相関関係、各リンクに付与された加重値の値によって、神経回路網の特性が決まることが可能である。例えば、同数のノード及びリンクが存在し、リンクの加重値の値がそれぞれ異なる2つの神経回路網が存在する場合、その2つの神経回路網を、相異なるものと認識することができる。
神経回路網は、1つ以上のノードの集合で構成することができる。神経回路網を構成するノードの部分集合は、レイヤー(layer)を構成できる。神経回路網を構成する複数のノードのうち一部は、第1入力ノードからの距離に基づき、1つのレイヤー(layer)を構成することができる。例えば、第1入力ノードからの距離がnであるノードの集合は、nレイヤーを構成することができる。第1入力ノードからの距離は、第1入力ノードから当該ノードに到達するために経由しなければならないリンクの最小限の数を基に定義することができる。しかし、このようなレイヤーの定義は、説明のために任意に取り挙げたものであり、神経回路網の中におけるレイヤーの構成は、前述の説明と異なる方法で定義されることができる。例えば、ノードのレイヤーは、最終出力ノードからの距離を基に定義することもできる。
第1入力ノードは、神経回路網の中のノードのうち、他のノードとの関係においてリンクを経由せずにデータが直接入力される1つ以上のノードを意味することができる。または、神経回路網のネットワークの中で、リンクを基準にしたノード間の関係において、リンクを介して繋がっている他の入力ノードを持たないノードを意味することができる。これと同様に、最終出力ノードは、神経回路網の中のノードのうち、他のノードとの関係において、出力ノードを持たない1つ以上のノードを意味することができる。また、ヒドンノードは、第1入力ノード及び最終出力ノードではないノードで、神経回路網を構成するノードを意味することができる。
本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードと同数で、入力レイヤーからヒドゥンレイヤー(隠れ層)へと進むにつれ、ノードの数が一度減ってから、再び増加する形の神経回路網になり得る。本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より少なく、入力レイヤーからヒドゥンレイヤーへと進むにつれ、ノードの数が減少していく形の神経回路網になり得る。また、本開示の他の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より多く、入力レイヤーからヒドゥンレイヤーへと進むにつれ、ノードの数が増加していく形の神経回路網になり得る。本開示の他の一実施例における神経回路網は、上述の神経回路網を組み合わせた形の神経回路網になり得る。
ディープニューラルネットワーク(DNN:deep neural network、深層神経回路網)は、入力レイヤーと出力レイヤー以外に複数のヒドゥンレイヤーを含む神経回路網を意味することができる。ディープニューラルネットワークを利用するとデータの潜在的な構造(latent structures)を把握することができる。つまり、写真、文章、ビデオ、音声、音楽の潜在的な構造(例えば、ある物が写真に映っているか、文章の内容と感情はどのようなものなのか、音声の内容と感情はどのようなものなのか等)を把握することができる。ディープニューラルネットワークは、畳み込みニューラルネットワーク(CNN:convolutional neural network)、リカレントニューラルネットワーク(RNN;:recurrent neural network)、オートエンコーダー(auto encoder)、GAN(Generative Adversarial Networks)、制限ボルツマンマシン(RBM:restricted boltzmann machine)、深層信頼ネットワーク(DBN:deep belief network)、Qネットワーク、Uネットワーク、シャムネットワーク、敵対的生成ネットワーク(GAN:Generative Adversarial Network)等を含むことができる。前述のディープニューラルネットワークは、例示に過ぎず本開示はこれらに限定されない。
本開示の一実施例において、ネットワーク関数は、オートエンコーダー(autoencoder)を含むこともできる。オートエンコーダーは、入力データに類似した出力データを出力するための人工神経回路網の一種になり得る。オートエンコーダーは、少なくとも1つのヒドゥンレイヤーを含むことができ、奇数個のヒドゥンレイヤーが入出力レイヤーの間に配置されることができる。各レイヤーのノード数は、入力レイヤーのノード数から、ボトルネックレイヤー(エンコード)という中間レイヤーに向かって減っていき、ボトルネックレイヤーから出力レイヤー(入力レイヤーと対称を成す)に向かって、縮小と対照する形で、拡張することもできる。オートエンコーダーは、非線形次元減少を行うことができる。入力レイヤー及び出力レイヤーの数は、入力データの前処理後に次元に対応することができる。オートエンコーダー構造において、エンコーダーに含まれたヒドゥンレイヤーのノードの数は、入力データから遠くなるほど減っていく構造を持つことができる。ボトルネックレイヤー(エンコーダーとデコーダーの間に位置する、ノードの数が最も少ないレイヤー)のノードの数が少なすぎる場合、十分な量の情報が伝わらない可能性があるため、特定の数以上(例えば、入力レイヤーの半分以上等)に維持されることもあり得る。
ニューラルネットワークは、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semi supervised learning)、または、強化学習(reinforcement learning)のうち、少なくともいずれか1つの方式で学習されることができる。ニューラルネットワークの学習は、ニューラルネットワークが特定の動作を行うための知識をニューラルネットワークに提供する過程になり得る。
ニューラルネットワークは、出力のエラーを最小化する方向で学習されることが可能である。ニューラルネットワークの学習において、繰り返し学習データをニューラルネットワークに入力させ、学習データに関するニューラルネットワークの出力とターゲットのエラーを計算し、エラーを減らすための方向としてニューラルネットワークのエラーをニューラルネットワークの出力レイヤーから入力レイヤーの方向へ逆伝播(back propagation)してニューラルネットワークの各ノードの加重値を更新するプロセスが行われる。教師あり学習の場合、個々の学習データに正解がラベリングされている学習データを使い(つまり、ラベリングされた学習データ)、教師なし学習の場合は、個々の学習データに正解がラベリングされていない場合がある。つまり、例えばデータ分類に関する教師あり学習における学習データは、学習データの各々にカテゴリがラベリングされたデータになり得る。ラベリングされた学習データがニューラルネットワークに入力され、ニューラルネットワークの出力(カテゴリ)と学習データのラベルを比較することでエラー(error)を計算することが可能である。他の例として、データ分類に関する教師なし学習の場合、入力である学習データをニューラルネットワークの出力と比較することでエラーを計算することが可能である。計算されたエラーは、ニューラルネットワークにおいて逆方向(つまり、出力レイヤーから入力レイヤー方向)へ逆伝播され、逆伝播を通じてニューラルネットワークの各レイヤーの各ノードの連結加重値を更新することが可能である。更新される各ノードの連結加重値は、学習率(learing rate)によって変化量が決まることが可能である。入力データに対するニューラルネットワークの計算とエラーの逆伝播は、学習のサイクル(epoch)を構成することができる。学習率は、ニューラルネットワークの学習のサイクルの反復回数によって適用方式が変わることが可能である。例えば、ニューラルネットワークの学習初期においては、学習率を高くしてニューラルネットワークが早く一定のレベルの性能を確保するようにすることで効率を高め、学習の後半においては学習率を低くして精度を上げることが可能である。
ニューラルネットワークの学習において、一般的に学習データは実際のデータ(つまり、学習されたニューラルネットワークを利用して処理しようとするデータ)の部分集合であることが可能であり、そのため学習データに係るエラーは減少するが、実際のデータに係るエラーは増加する学習サイクルが存在し得る。過剰適合(over fitting)は、このように学習データについて過度に学習したため、実際のデータにおいてエラーが増加する現象である。例えば、黄色い猫を見て猫を学習したニューラルネットワークが、黄色以外の色の猫を見ると猫であることを認識できない現象が過剰適合の一種になり得る。過剰適合は、マシンラーニングアルゴリズムのエラーを増加させる原因になり得る。このような過剰適合を防ぐために、多様な最適化方法を適用できる。過剰適合を防ぐためには、学習データを増加させる方法、正則化(regulaization)、学習の過程でネットワークのノードの一部を非活性化するドロップアウト(drop out)、バッチ正規化レイヤー(batch normalization layer)の活用等の方法を適用できる。
図3は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するためのコンピューティング装置に含まれているモジュールを概略的に示すブロック構成図である。
本開示の一実施例によると、プロセッサー(110)は、入力モジュール(111)、STTモジュール(112)、ターゲット単語検索モジュール(113)、類似単語検索モジュール(114)、出力モジュール(115)及び後処理モジュール(116)を含むことが可能である。ただし、プロセッサーに含まれているモジュールの構成がこれにより限定されるわけではない。
本開示の一実施例における、入力モジュール(111)は、テキスト情報の中からターゲット単語と対応する単語を識別するためのテキストを直接取得したり又は外部システムから受信することが可能である。ここで、テキスト情報は、本開示の一実施例において識別された単語を変更するために、対象となる文章である。また、外部システムは、テキストの文章を保存且つ管理するサーバー及びデータベース等になり得る。また、入力モジュール(111)は、音声信号又は音声信号が変換されたスペクトログラム(spectrogram)を取得することが可能である。一方、入力モジュール(111)は、テキスト生成(text generation)モデルの出力結果であるテキスト情報を取得することも可能である。つまり、テキスト情報は、音声認識を通じて生成されたテキスト情報、要約生成モデルのようなテキスト生成(text generation)モデルの出力結果であるテキスト情報を含むことが可能である。また、入力モジュール(111)は、ユーザーインターフェースを通して入力情報を受信することが可能である。例えば、入力情報は、ターゲット単語決定情報等を含むことが可能である。
本開示の一実施例におけるSTTモジュール(112)は、入力モジュール(111)から音声信号を受信した場合、VAD、Denoiser、Speech enhancement等を通じて前処理を実行することが可能である。一例として、VAD(Voice Activity Detection)は、オーディオストリームから音声が感知されたか否かを判断する技術である。また、STTモジュール(112)は、短い音声区間(例えば、0.01s)ごとに、人間が発音した部分であるか(1)、人間が発音した部分でないか(0)を区分するBinary classification(二項分類アルゴリズム)、又は、複数の発話音声の分布やノイズ音声の分布に基づいて、2つのうちどちらにより近いかを判別するDistribution based classification(確率分布基盤のアルゴリズム)に基づいて音声認識を行うことが可能である。一例として、音声認識にはWebrtcVADを用いることが可能であるが、これに限らず、すでに開発されている又は今後開発されるアルゴリズムを適用することが可能である。また、STTモジュール(112)は、認識された音声をテキスト情報に変換することが可能である。STTモジュール(112)は、入力モジュール(111)から、アナログウェイブ信号をデジタルに変換した可変長音声信号、又は、それを、フーリエ変換を通じて変換したスペクトログラム(spectrogram)の入力を受けて、出力結果として、単一の文字、単語又は連続した可変長文字列の形態のテキスト情報を生成することが可能である。また、STTモジュール(112)は、例示的な構造として、深層学習を活用したSeq-to-Seq(Sequence-to-Sequence)の構造を有することが可能であり、Seq-to-Seqの構造は、エンコーダー部(Encoder)とデコーダー部(Decoder)で構成されることが可能である。一方、音声信号の入力を受けて単語や文字を出力するデコード(Decoding)手法として、ビームサーチ(Beam Search)手法等を適用することが可能である。ここで、ビームサーチ(Beam Search)手法は、エンコード(Encoding)された音声信号と、その前に予測した文字とに基づき、次の文字を予測するとき、貪欲法的に(Greedy)に最も確率の高い文字を採用するのではなく、多様な可能性を踏まえることができるようにし、上位n個の候補群の中から、最終的に文章全体と文脈を考慮して、最適解となる正解テキストを探し出す方法である。つまり、STTモジュール(112)は、入力モジュール(111)から音声信号を取得した場合、音声を認識してテキスト情報を出力することが可能である。
本開示の一実施例におけるターゲット単語検索モジュール(113)は、ターゲット単語を決定することが可能である。ターゲット単語検索モジュール(113)は、キーワード抽出(Keyword Extraction)技術を通じて、テキスト情報の中からキーワードを決定することで単語(例えば、類似単語)を検索するターゲット単語を決定することが可能である。ターゲット単語は1つ又は複数(グループ)になり得る。以下に、説明の便宜上、1つのターゲット単語に係る実施例について説明する。
より具体的な例を挙げると、ターゲット単語検索モジュール(113)は、(1)予め決められた分野のキーワード辞書に基づき前記ターゲット単語を決定したり、(2)前記テキスト情報における出現頻度がしきい値以上である単語を前記ターゲット単語として決定したり、(3)ユーザーインターフェースを通して受信した入力情報に基づき前記ターゲット単語を決定することが可能である。例えば、ターゲット単語検索モジュール(113)は、(1)又は(2)を通じてテキスト情報の中からターゲット単語として「こんやく(婚約)」を抽出したり、ユーザーインターフェースから「こんやく(婚約)」の入力を受けることが可能である。
また、ターゲット単語検索モジュール(113)は、テキスト情報が音声認識を通じて生成されたテキスト情報である場合、(4)音声認識に係る信頼度(confidence)に基づき前記ターゲット単語を決定することが可能である。例えば、ターゲット単語検索モジュール(113)は、STTモジュール(112)から取得したテキスト情報に含まれている複数の単語のうち、音声認識の信頼度が低い単語を識別することが可能であり、信頼度が低いものとして識別された単語をターゲット単語として決定することが可能である。一方、音声認識の信頼度に基づいて決定されたターゲット単語は、ユーザーインターフェースにおいて区別できるように表示されることが可能である。一例として、音声認識の信頼度に基づいて決定されたターゲット単語は、ユーザーインターフェースにおいてハイライト表示されて出力されることが可能であり、ユーザーが当該ターゲット単語に係る入力を生成(例えば、当該ターゲット単語の位置にマウスでカーソルをかざしたり、タッチ入力を生成)した場合、関連する複数の類似単語を共に表示することが可能である。
結局、ターゲット単語検索モジュール(113)は、(1)、(2)及び(4)のように、ユーザーから受信した入力情報無しに、テキスト情報又は音声認識に係る情報に基づいてターゲット単語を決定したり、(3)のようにユーザーから受信した入力情報を考慮してターゲット単語を決定することが可能であり、かかる方式以外にも多様な方式を通じてターゲット単語を決定することが可能である。
本開示の一実施例における、類似単語検索モジュール(114)は、ターゲット単語に係る編集距離に係るしきい値(threshold)を決定することが可能である。また、類似単語検索モジュール(114)は、ターゲット単語に係る編集距離に係るしきい値を動的に決定することが可能である。例えば、類似単語検索モジュール(114)は、ターゲット単語の長さに応じて前記編集距離に係るしきい値を動的に決定することが可能である。より具体的に、類似単語検索モジュール(114)は、前記ターゲット単語の長さと予め決められた比率しきい値(k)との間の演算に基づき、前記編集距離に係るしきい値を動的に決定することが可能である。例えば、類似単語検索モジュール(114)は、ターゲット単語(q)の長さ(l)に比率しきい値(k)を乗じ、整数に切り上げて、ターゲット単語(q)ごとに動的な編集距離を決定することが可能である。ここで、比率しきい値(k)は、ユーザーがターゲット単語(q)ごとに指定することが可能であり、予め指定しておいたしきい値を利用することも可能である。かかる類似単語検索モジュール(114)は、複数のターゲット単語を含むターゲット単語集合(Q)が生成される場合、ターゲット単語集合(Q)に含まれている複数のターゲット単語(q)の各々の大きさに対応して、しきい値(k)を動的に設置することで、リソースを有効に使うことが可能である。また、類似単語検索モジュール(114)は、編集距離に係る絶対しきい値(k)を決定することも可能であり、絶対しきい値(k)と比率しきい値(k)とを両方考慮して類似単語を検索することも可能である。
本開示の一実施例における、類似単語検索モジュール(114)は、テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離がしきい値以下である単語を決定することが可能である。例えば、類似単語検索モジュール(114)は、テキストデータの中から「こんやく(婚約)」との編集距離がしきい値以下である「こんわく(困惑)」、「こうやく(公約)」、「こんにゃく(蒟蒻)」等の単語を決定(検索)することが可能である。また、類似単語検索モジュール(114)は、テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が「動的に決定されたしきい値」以下である単語を決定することが可能である。また、類似単語検索モジュール(114)は、テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が前記「動的に決定されたしきい値」以下であり、且つ、前記「絶対しきい値(k)」以下である単語を決定することが可能である。つまり、類似単語検索モジュール(114)は、ターゲット単語との関係において、動的しきい値に係る条件と絶対しきい値に係る条件とを同時に満たす単語を識別することも可能であり、当該単語を類似単語として決定することも可能である。一方、類似単語検索モジュール(114)は、ターゲット単語が複数ある場合、複数のターゲット単語を含むターゲット単語集合Q={q、q、…、q}を生成することが可能であり、テキスト情報(T)の中からターゲット単語集合と発音が似ている単語を検索することが可能である。例えば、類似単語検索モジュール(114)は、ターゲット単語集合に含まれている複数のターゲット単語の各々に対して、それぞれのしきい値を動的に決定し、決定されたしきい値に基づいてそれぞれのターゲット単語の類似単語を識別することが可能であり、識別された単語に基づいてターゲット単語集合に対応する類似単語集合を生成することが可能である。
一方、編集距離(edit distance)は、多様な方式で決定することが可能である。例えば、編集距離は、文字列が2つある場合、2つのうち1つの文字列を他の文字列に変換するときに必要な最小編集数と定義することが可能である。また、ここで編集の種類は、文字の削除(deletion)、挿入(insertion)、置換(substitution)等を含むことが可能である。また、編集距離は、発音に基づいて演算されたり、テキストに基づいて演算されることが可能である。例えば、編集距離は、テキストを発音記号に変換することに基づいて演算されたり、テキストそのものに基づいて演算(例えば、文字単位で演算)されることも可能である。一方、編集距離アルゴリズムは、Levenshtein distanceやLongestやcommon subsequenceやHamming distance等を含むことが可能であり、これらのアルゴリズム以外にも多様なアルゴリズムを含むことが可能である。
さらに、テキスト情報(T)とターゲット単語集合Q={q、q2、…、qn}(ここで、Tとqはすべて長さ1以上の文字列)について、テキスト情報(T)の中からターゲット単語(Q)の任意の要素(element)との編集距離がしきい値(k)以下である文字列区間を検索するとき、ナイーブ(naive)な編集距離アルゴリズム又は単純な編集距離演算アルゴリズムが用いられる場合、ランタイムが幾何級数的に増えるという問題点が存在する。本開示の一実施例における類似単語検索モジュール(114)は、この問題を解決するために、ターゲット単語集合又はテキスト情報に含まれている複数の文字列に係る近似(approximate)情報を活用することが可能であり、近似化された情報を活用して検索を行うことも可能である。例えば、本開示の一実施例における、類似単語検索モジュール(114)は、多重文字列近似マッチングアルゴリズム(multi-string approximate (fuzzy) matching algorithm)を利用し、テキスト情報に含まれている複数の単語の中から、前記ターゲット単語との編集距離がしきい値以下である単語を決定することが可能である。
図4は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するために編集距離がk以下である区間を探索する実施例を概略的に示すフローチャートである。
図4を参照すると、類似単語検索モジュール(114)は、前記決定されたしきい値がkである場合、前記ターゲット単語をk+1の要素に分割することが可能である(S10)。この場合、要素は、音声に係る要素(例えば、発音記号等)又はテキストそのものに係る要素を(例えば、字素単位の要素等)等を含むことが可能である。また、類似単語検索モジュール(114)は、前記テキスト情報の中から前記k+1の要素を探索することが可能である(S11)。また、類似単語検索モジュール(114)は、前記テキスト情報の中から前記k+1の要素のうち少なくとも1つの要素が見つかったら、見つかった要素に基づき、単語を識別することが可能である(S12)。また、類似単語検索モジュール(114)は、前記テキスト情報の中から前記k+1の要素が見つからなかったら、編集距離が前記しきい値以下である単語が存在しないと決定することが可能である(S13)。
例示として、類似単語検索モジュール(114)は、探索するターゲット単語(Q)が1つである場合(例えば、ターゲット単語集合Qの大きさが1である場合)PEXアルゴリズム(algorithm)を利用してテキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離がしきい値以下である単語を決定することが可能である。また、類似単語検索モジュール(114)は、テキスト情報(T)においてターゲット単語(q、Qの唯一のelement)との編集距離がしきい値(k)以下である区間を決定することが可能であり、決定された区間に基づいて単語を識別することが可能である。この場合、類似単語検索モジュール(114)は、「テキスト情報(T)に正解区間(つまり、ターゲット単語との編集距離がしきい値(k)以下である区間)が存在する場合、ターゲット単語をk+1の要素に分割すると、k+1の要素のうち最低1つはその正解区間の中に存在する」との前提に基づき、テキスト情報(T)においてターゲット単語との編集距離がしきい値(k)以下である区間を決定することが可能である。例えば、類似単語検索モジュール(114)は、ターゲット単語(q)をk+1の要素(element)に分割(S10)した後、Multi-string exact matching algorithm(例えば、Aho-corasick等)を利用してテキスト情報(T)の中から前記k+1の要素を探索(S11)することが可能であり、テキスト情報(T)の中から、前記k+1の要素のうち少なくとも1つの要素が見つかった場合、見つかった要素の周辺の区間(例えば、検索された要素から両方向に延びるターゲット単語(q)の長さ分の区間)から編集距離がしきい値(k)以下である単語を識別(S12)することが可能である。また、類似単語検索モジュール(114)は、テキスト情報(T)の中から前記k+1の要素がすべて見つからなかった場合、「テキスト情報(T)の中に、ターゲット単語(q)との編集距離がしきい値(k)以下である単語が存在しない」と決定することが可能である(S13)。
他の例を挙げると、類似単語検索モジュール(114)は、探索するターゲット単語が2つ以上である場合(例えば、ターゲット単語集合Qの大きさが2以上である場合)、Multi-PEX algorithmを利用して、テキスト情報に含まれている複数の単語の中から前記ターゲット単語との編集距離がしきい値以下である単語を決定することが可能である。先ず、類似単語検索モジュール(114)は、ターゲット単語集合(Q)に含まれているすべてのターゲット単語をk+1の要素に分割することが可能である(S10)。また、類似単語検索モジュール(114)は、すべてのターゲット単語集合(Q)の要素をまとめて一度に同じMulti-string exact matching algorithmに適用して探索することが可能である(S11)。一例として、類似単語検索モジュール(114)は、エイホ-コラシック(Aho-corasick)アルゴリズムを利用した場合、1つのトライ(trie)にすべてのターゲット単語集合(Q)の要素を含めて探索することが可能である。また、類似単語検索モジュール(114)は、テキスト情報(T)の中にターゲット単語集合(Q)の少なくとも1つの要素が存在した場合、当該要素の周辺のテキスト(例えば、両方向に延びるターゲット単語(Q)の長さ分)区間において編集距離がしきい値(k)以下である単語が存在するか否かを探索することが可能である(S12)。また、類似単語検索モジュール(114)は、テキスト情報(T)からターゲット単語(Q)の要素が見つからなかった場合、テキスト情報(T)に「ターゲット単語集合(Q)との編集距離がしきい値(k)以下である単語が存在しない」と決定することが可能である(S13)。
本開示の一実施例によると、ターゲット単語と対応する単語は発音又はテキストに基づいて決定し、編集距離は発音又はテキストに基づいて演算することが可能である。
図5は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するために発音に基づいてターゲット単語を決定する実施例を概略的に示すフローチャートである。
図5を参照すると、類似単語検索モジュール(114)は、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換することが可能である(S20)。言い換えると、類似単語検索モジュール(114)は、テキスト情報(T)を発音記号テキスト情報(T)に変換し、ターゲット単語(Q)を発音記号ターゲット単語情報(Q)に変換することが可能である。例えば、段階S20において、類似単語検索モジュール(114)は、前記テキスト情報に含まれている単語及び前記ターゲット単語をIPA(international Phonetic Alphabet)のアルファベットに変換することが可能である。また、類似単語検索モジュール(114)は、変換されたIPAのアルファベットをローマ字表記に変換することが可能である。一例として、類似単語検索モジュール(114)は、「渋谷(しぶや)」を「shibuya」に変換することが可能である。また、変換されたローマ字表記を字素単位に分離し、字素単位に分離されたものを音素単位に変換することが可能である。また、類似単語検索モジュール(114)は、前記テキスト情報に関連する複数の発音記号の中から、前記ターゲット単語に関連する複数の発音記号との編集距離が前記しきい値以下である発音記号を識別することが可能である(S21)。この場合、編集距離に係るしきい値は、動的に決定されることが可能である。また、類似単語検索モジュール(114)は、前記識別された発音記号に基づいてターゲット単語と対応する単語を識別することが可能である(S22)。一方、類似単語検索モジュール(114)は、変換関連情報をHash map又はリスト(M)を通じて整理することが可能である。例えば、類似単語検索モジュール(114)は、変換前の文字インデックス(index)と、変換後の発音記号インデックスとの間のマッチング関係をHash map又はリスト(M)を通じて整理することが可能であり、整理されたHash map又はリスト(M)を活用して、発音に基づく探索結果を文字に基づく探索結果に再び変換することが可能である。
図6は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するためにテキストに基づいてターゲット単語を決定する実施例を概略的に示すフローチャートである。この場合、類似単語検索モジュール(114)は、図5を参照して説明しているように発音に基づいてターゲット単語を決定するのではなく、テキストに基づいてターゲット単語を決定することも可能である。
図6を参照すると、類似単語検索モジュール(114)は、テキスト情報に含まれている単語及びターゲット単語を字素単位に変換することが可能である(S30)。また、類似単語検索モジュール(114)は、テキスト情報に関連する複数の字素の中からターゲット単語に関連する複数の字素との編集距離が前記しきい値以下である字素を識別することが可能である(S31)。この場合、編集距離に係るしきい値は、動的に決定されることが可能である。また、類似単語検索モジュール(114)は、識別された字素に基づいて単語を識別することが可能である(S32)。
図7は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するために分かち書き又は文章符号を含めるかいなかを選択する実施例を概略的に示すフローチャートである。かかる実施例において、類似単語検索モジュール(114)は、ターゲット単語との編集距離がしきい値以下である単語を決定するときに発生し得る問題点を解決するために、分かち書き又は文章符号を含めるかいなかを選択することが可能である。
図7を参照すると、類似単語検索モジュール(114)は、テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は字素に変換することが可能である(S40)。例えば、類似単語検索モジュール(114)は、段階S20又は段階S30において行ったように、テキスト情報に含まれている単語及びターゲット単語を複数の発音記号又複数の字素に変換することが可能である。また、類似単語検索モジュール(114)は、分かち書き又は文章符号のうち少なくとも1つを考慮するか否かを選択することが可能である(S41)。一例として、類似単語検索モジュール(114)は、分かち書き又は文章符号のうち少なくとも1つを考慮するか否かについて、ユーザーインターフェースを通して入力を受けることが可能である。
より具体的な例を挙げると、類似単語検索モジュール(114)が分かち書きを考慮しなかった場合、段階S40において分かち書きは変換結果に含まれないようになることが可能である。言い換えると、類似単語検索モジュール(114)は、テキスト情報(T)を発音記号テキスト情報(T)に変換するとき、発音記号テキスト情報(T)において分かち書き情報を含まないようにすることが可能である。このとき、類似単語検索モジュール(114)は、テキスト情報(T)文字列のインデックスと発音記号テキスト情報(T)文字列のインデックスとを紐づけるリスト(M)には分かち書き情報を保存することが可能である。また、類似単語検索モジュール(114)は、前記保存された情報に基づき、発音記号テキスト情報(T)におけるインデックスを、テキスト情報(T)におけるインデックスに戻すことが可能である。一例として、分かち書きを考慮しなかった場合(分かち書きが含まれていない場合)に、ターゲット単語が「hatter」で、文字起こし結果(例えば、音声認識を通じて生成された結果テキスト)が「had her」である場合、文字起こし結果が検索されることが可能である。また、ターゲット単語が「their」で、文字起こし結果が「they are」である場合、文字起こし結果が検索されることが可能である。また、ターゲット単語が「went ago」で、文字起こし結果が「want to go」である場合、文字起こし結果が検索されることが可能である。
一方、類似単語検索モジュール(114)は、分かち書きを考慮した場合、段階S40において分かち書きを変換結果に含めることが可能である。言い換えると、類似単語検索モジュール(114)は、テキスト情報(T)を発音記号テキスト情報(T)に変換するときに発音記号テキスト情報(T)においても分かち書き情報が含まれるように維持することが可能である。このとき、類似単語検索モジュール(114)は、Multi-PEXを利用して検索した後、分かち書きが含まれているマッチを検索したり、発音に基づいて変換された各単語を分かち書き単位に分けてから、single-pattern approximate matchingアルゴリズムを利用して検索することが可能である。一例として、分かち書きを考慮した場合(分かち書きが含まれている場合)、ターゲット単語が「hatter」で、文字起こし結果が「had her」である場合、文字起こし結果が検索されないようになることが可能である。また、ターゲット単語が「their」で、文字起こし結果が「they are」である場合、文字起こし結果が検索されないようになることが可能である。また、ターゲット単語が「went ago」で、文字起こし結果が「want to go」である場合、文字起こし結果が検索されないようになることが可能である。
また、類似単語検索モジュール(114)が、文章符号を考慮しなかった場合、段階S40において文章符号は変換結果に含まれないようになることが可能である。言い換えると、類似単語検索モジュール(114)は、テキスト情報(T)を発音記号テキスト情報(T)に変換するときに、発音記号テキスト情報(T)において符号情報を含まないようにすることが可能である。このとき、類似単語検索モジュール(114)は、テキスト情報(T)文字列のインデックスと発音記号テキスト情報(T)文字列のインデックスとを紐づけるリスト(M)には文章符号情報を保存することが可能である。また、類似単語検索モジュール(114)は、前記保存された情報に基づき、発音記号テキスト情報(T)におけるインデックスを、テキスト情報(T)におけるインデックスに戻すことが可能である。一例として、文章符号を考慮しなかった場合、ターゲット単語が「hatter」で、文字起こし結果(例えば、音声認識を通じて生成された結果テキスト)が「had, her」である場合、文字起こし結果が検索されることが可能である。また、ターゲット単語が「icecream」で、文字起こし結果が「I,scream」である場合、文字起こし結果が検索されることが可能である。
また、類似単語検索モジュール(114)は、文章符号を考慮した場合、段階S40において文章符号を変換結果に含めることが可能である。言い換えると、類似単語検索モジュール(114)は、テキスト情報(T)を発音記号テキスト情報(T)に変換するときに、発音記号テキスト情報(T)においても文章符号が含まれるように維持することが可能である。一例として、文章符号を考慮した場合、類似単語検索モジュール(114)においてターゲット単語が「hatter」で、文字起こし結果が「had,her」である場合、文字起こし結果が検索されないようになることが可能である。なお、かかる実施例は、(発音記号テキスト情報(T)に分かち書き情報が含まれる場合には、文章符号を考慮するか否かとは関係なく、分かち書きそのものによって検索されなくなるため)発音記号テキスト情報(T)に分かち書き情報が含まれない場合に意味がある。
本開示の一実施例によると、類似単語検索モジュール(114)は、ターゲット単語との編集距離に基づき、テキスト情報の中からターゲット単語と対応する単語(例えば、類似単語)を識別することが可能である。一方、検索の対象となるテキスト情報が音声認識に基づいて生成されたテキスト情報である場合、類似単語検索モジュール(114)は、編集距離に係る情報のみならず、「複数の音声情報間の類似度情報」を追加で活用し、ターゲット単語と対応する単語を識別することが可能である。例えば、類似単語検索モジュール(114)は、ターゲット単語及びテキスト情報が音声認識に基づくものである場合、前記ターゲット単語に関連する音声情報と前記テキスト情報に関連する音声情報との間における類似度を算出することが可能であり、算出した類似度を追加で考慮し、前記ターゲット単語と対応する単語を識別することが可能である。つまり、類似単語検索モジュール(114)は、テキスト情報が音声認識基盤のものである場合、編集距離のみならず、音声間の類似度を追加で考慮し、ターゲット単語と対応する単語を識別することが可能である。従って、類似単語検索モジュール(114)は、音声認識基盤のテキスト情報に対して動作した場合に精度がより上がることが期待できる。
本開示の一実施例によると、出力モジュール(115)は、出力されたテキスト情報の中から、ハイライト表示等の視覚的効果を用いて、単語を、ユーザーインターフェースを通して出力することが可能である。例えば、テキスト情報(原本テキスト)の中から識別された単語である「こんわく(困惑)」、「こうやく(公約)」、「こんにゃく(蒟蒻)」の部分をハイライト表示し、ユーザーインターフェースを通して出力することが可能である。
本開示の一実施例によると、後処理モジュール(116)は、識別された複数の単語をまとめてターゲット単語に一括変更することが可能である。例えば、後処理モジュール(116)は、識別された単語が「こんわく(困惑)」、「こうやく(公約)」、「こんにゃく(蒟蒻)」で、ターゲット単語が「こんやく(婚約)」である場合、識別された単語をターゲット単語に一括変更することが可能である。また、後処理モジュール(116)は、ターゲット単語及び識別された単語を、識別された複数の単語のうち、1つの単語に変更することが可能である。例えば、後処理モジュール(116)は、識別された単語が「こんわく(困惑)」、「こうやく(公約)」、「こんやく(婚約)」で、ターゲット単語が「こんにゃく(蒟蒻)」である場合(例えば、音声認識の信頼度が低いと判断された「こんにゃく(蒟蒻)」がターゲット単語に自動的に設定された場合)、識別された単語及びターゲット単語を、識別された複数の単語のうち1つである「こんやく(婚約)」に一括変更することが可能である。
また、後処理モジュール(116)は、一括変更する前にユーザーに確認を要請するUIをユーザーインターフェースに提供することも可能である。
本開示の一実施例によると、類似単語変更等のユーザー入力を通じて「ユーザーが修正した『修正済みテキスト』及びそれと対応する『原本音声』のペア(pair)」を取得することが可能であり、これは多様な方法で活用されることが可能である。
一例として、ユーザーアカウント別に『修正済みテキスト』が当該アカウントのユーザー辞書に追加され、当該アカウントがその後音声認識を行うときに『修正済みテキスト』に対してキーワードブースティングが適用されるようにすることが可能である。キーワードブースティング(keyword boosting)は、音声認識モデルのデコーダーがビームサーチ(Beam Search)を行うときに、予め決められたキーワードの優先順位を高める技術であり、これを通じてユーザーの意図により合致するSTT結果テキストを出力することが可能である。
他の一例として、ユーザーアカウント別に個人に合わせた音声認識モデルを学習させるために『修正済みテキスト』-『原本音声』のペアを利用することが可能である。これを通じて、当該アカウントに合わせた音声認識モデルは、ユーザーの『原本音声』に対して類似した他のテキストを出力することなく『修正済みテキスト』をより正確に出力することが可能である。
図8は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するためにユーザーインターフェースに出力される実施例を示す図面である。
図8を参照すると、Aは、ターゲット単語検索モジュール(113)において、(1)予め決められた分野のキーワード辞書に基づいて前記ターゲット単語を決定する動作、(2)前記テキスト情報における出現頻度がしきい値以上である単語を前記ターゲット単語として決定する動作、又は、(4)音声認識に係る信頼度(confidence)に基づいて前記ターゲット単語を決定する動作のうち、少なくとも1つに基づいて決定された複数のターゲット単語を含むインターフェースである。
Bは、ターゲット単語検索モジュール(113)において、(3)ユーザーインターフェースを通して受信した入力情報に基づき前記ターゲット単語を決定するために提供されるインターフェースである。
Cは、出力モジュール(115)において、出力されたテキスト情報(原本テキスト情報)にから、ハイライト表示等の視覚的効果を用いて、単語(類似単語)を提供するインターフェースである。
Dは、類似単語検索モジュール(114)において前記ターゲット単語に係る編集距離に係るしきい値(threshold)を決定し、テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定し、前記決定された単語に基づき前記ターゲット単語と対応する単語を識別した結果を提供するインターフェースである。
一例として、ターゲット単語が「ソフ」である場合、類似単語検索モジュール(114)においてターゲット単語に係る編集距離に係るしきい値を決定し、テキスト情報に含まれている複数の単語のうち、ターゲット単語(例えば、「ソフ」)との編集距離がしきい値以下である単語を決定し、決定された単語に基づきターゲット単語と対応する単語を「ソフ」、「ソース」、「てプ」)」等のように識別することが可能である。
本開示の一実施例によると、コンピューティング装置(100)は、ユーザーがターゲット単語を直接入力した場合、テキスト情報をユーザーが修正するとき、より簡単に単語(類似単語)をターゲット単語に一括変更することが可能である。コンピューティング装置(100)は、図7において説明されている分かち書き又は文章符号を含むか否かについて、単語(類似単語)を識別(検索)するときに、識別(検索)された結果の中に分かち書き(スペーシング又は文章符号等が含まれている場合は、検索結果から外すことでユーザーの意図により合致する単語(類似単語)検索結果を提供することが可能である。
また、コンピューティング装置(100)は、ユーザーがターゲット単語を直接入力していない場合、つまり、入力されたテキスト情報の中からターゲット単語を決定し、テキスト情報に含まれている複数の単語のうち、ターゲット単語との編集距離がしきい値以下である単語を決定した後、決定された単語に基づきターゲット単語と対応する単語を識別することが可能である。前記の説明より先に説明されている実施例1とは違って、ユーザーの介入無しに行われるため、性能向上を期待できる。
また、コンピューティング装置(100)は、テキスト情報が音声認識を通じて生成されたテキスト情報を含む場合、音声認識に係る信頼度に基づいてターゲット単語を決定するが、信頼度が低い単語を、音声認識を通じて生成されたテキストと比較し、ユーザーインターフェースを通して候補単語を提供することで、より正確な学習を行うことが可能である。
ただし、上述の説明において記載されている複数の実施例は、一部の実施例に過ぎず、これらにより限定されるわけではない。
図9は、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別するための方法を示すフローチャートである。
図9に示すテキスト情報の中からターゲット単語と対応する単語を識別する方法は、先に説明しているコンピューティング装置(100)において実行することが可能である。従って、以下に具体的に記載されていない場合でも、コンピューティング装置(100)について上述した内容はテキスト情報の中からターゲット単語と対応する単語を識別する方法に係る説明にも同様に適用することが可能である。
図9を参照すると、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別する方法は、ターゲット単語を決定する段階(S110)、前記ターゲット単語に係る編集距離に係るしきい値(threshold)を決定する段階(S120)、テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定する段階(S130)及び前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する段階(140)等を含むことが可能であり、かかる段階以外にも多様な段階を含むことが可能である。また、本開示の一実施例における、テキスト情報の中からターゲット単語と対応する単語を識別する方法は、コンピューティング装置(100)において実行することが可能である。
前記段階S110は、ターゲット単語を決定する段階である。かかる段階S110は、予め決められた分野のキーワード辞書に基づき前記ターゲット単語を決定する段階、前記テキスト情報における出現頻度がしきい値以上である単語を前記ターゲット単語として決定する段階、又は、ユーザーインターフェースを通して受信した入力情報に基づき前記ターゲット単語を決定する段階のうち、少なくとも1つを含むことが可能である。また、段階S110は、テキスト情報が音声認識を通じて生成されたテキスト情報を含む場合、前記音声認識に係る信頼度(confidence)に基づいて前記ターゲット単語を決定する段階を含むことが可能である。この場合、前記ターゲット単語と対応する単語は発音又はテキストに基づいて決定し、前記編集距離は発音又はテキストに基づいて演算することが可能である。
前記段階S120は、前記ターゲット単語に係る編集距離に係るしきい値(threshold)を決定する段階である。かかる前記段階S120は、前記ターゲット単語の長さに応じて前記編集距離に係るしきい値を動的に決定する段階を含むことが可能である。前記編集距離に係るしきい値を動的に決定する段階は、前記ターゲット単語の長さと予め決められた比率しきい値との間の演算に基づき、前記編集距離に係るしきい値を動的に決定する段階を含むことが可能である。また、前記編集距離に係るしきい値を決定する段階は、絶対しきい値を決定する段階をさらに含み、前記ターゲット単語との編集距離が前記しきい値以下である単語を識別する段階は、前記ターゲット単語との編集距離が前記動的に決定されたしきい値以下であり、且つ、前記絶対しきい値以下である単語を識別する段階をさらに含むことが可能である。また、前記段階S120は、絶対しきい値を決定する段階をさらに含むことも可能である。
前記段階S130は、テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との編集距離が前記しきい値以下である単語を決定する段階である。かかる段階S130は、前記ターゲット単語との編集距離が前記動的に決定されたしきい値以下であり、且つ、前記絶対しきい値以下である単語を決定する段階を含むことが可能である。また、前記段階S130は、前記決定されたしきい値がkである場合、前記ターゲット単語をk+1の要素に分割する段階、前記テキスト情報の中から前記k+1の要素を探索する段階、前記テキスト情報の中から前記k+1の要素のうち、少なくとも1つの要素が見つかったら、見つかった要素に基づき単語を識別する段階及び前記テキスト情報の中から前記k+1の要素が見つからなかったら、編集距離が前記しきい値以下である単語が存在しないと決定する段階を含むことが可能である。
また、前記段階S130は、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換する段階、前記テキスト情報に関連する複数の発音記号のうち、前記ターゲット単語に関連する複数の発音記号との編集距離が前記しきい値以下である発音記号を識別する段階及び前記識別された発音記号に基づいて前記単語を識別する段階を含むことも可能である。この場合、編集距離は発音に基づいて決定されることが可能である。一例として、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換する段階は、前記テキスト情報に含まれている単語及び前記ターゲット単語をIPA(international Phonetic Alphabet)のアルファベットに変換する段階、変換されたIPAのアルファベットをローマ字表記に変換する段階、変換されたローマ字表記を字素単位に分離する段階及び字素単位に分離されたものを音素単位に変換する段階を含むことが可能である。
また、前記段階S130は、前記テキスト情報に含まれている単語及び前記ターゲット単語を字素単位に変換する段階、前記テキスト情報に関連する複数の字素のうち、前記ターゲット単語に関連する字素との編集距離が前記しきい値以下である字素を識別する段階及び前記識別された字素に基づいて前記単語を識別する段階を含むことも可能である。この場合、編集距離はテキストに基づいて決定することが可能である。
また、前記段階S130は、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換する段階を含み、前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換する段階は、分かち書き又は文章符号のうち、少なくとも1つを考慮するか否かを選択する段階を含むことが可能である。
前記S140段階は、決定された単語に基づきターゲット単語と対応する単語を識別できる段階である。かかるS140段階は、前記ターゲット単語に関連する音声情報と前記テキスト情報に関連する音声情報との間における類似度を算出する段階及び前記算出した類似度を追加で考慮し、前記ターゲット単語と対応する単語を識別する段階をさらに含むことが可能である。この場合、前記テキスト情報は音声認識を通じて生成されたテキスト情報を含むことが可能である。
以上の説明における複数の段階は、本開示の具現化の例によっては、より多くの段階に分割されたり、より少ない段階にまとめられることが可能である。また、一部の段階は、必要に応じて省略される場合もあり、段階の順番が変更される場合もある。
本開示の一実施例に基づき、データ構造を保存したコンピューター可読保存媒体が開示される。
データ構造は、データに効率的なアクセスおよび修正を可能にするデータの組織、管理、保存を意味することができる。データ構造は、特定の問題(例えば、最短時間でデータ検索、データ保存、データ修正)を解決するためのデータ組織を意味することができる。データ構造は、特定のデータ処理機能をサポートするように設計されたデータ要素間の物理的または論理的な関係と定義することもできる。データ要素間の論理的な関係は、ユーザーが考えるデータ要素間の連結関係を含むことができる。データ要素間の物理的な関係は、コンピューター可読保存媒体(例えば、ハードディスク)に物理的に保存されているデータ要素間の実際の関係を含むことができる。データ構造は具体的にデータの集合、データ間の関係、データに適用できる関数またはコマンドを含むことができる。効果的に設計されたデータ構造により、コンピューティング装置はコンピューティング装置のリソースを最小限に使用しながら計算を行うことができる。具体的にコンピューティング装置は効果的に設計されたデータ構造を通じて演算、読み取り、挿入、削除、比較、交換、検索の効率性を高めることができる。
データ構造はデータ構造の形態によって線形データ構造と非線形データ構造に区分されることができる。線形データ構造は、一つのデータの後に一つのデータだけが連結される構造である可能性がある。線形データ構造はリスト(List)、スタック(Stack)、キュー(Queue)、デッキ(Deque)を含むことができる。リストは、内部的に順序が存在する一連のデータセットを意味することが可能である。リストは連結リスト(Linked List)を含むことができる。連結リストはそれぞれのデータがポインタを持って一列に連結されている方式でデータが連結されたデータ構造でありうる。連結リストでポインタは、次や以前のデータとの連結情報を含むことができる。連結リストは形態によって単一連結リスト、二重連結リスト、円形連結リストで表現できる。スタックは制限的にデータにアクセスできるデータリスト構造である可能性がある。スタックは、データ構造の片端でのみデータを処理(例えば、挿入または削除)できる線形データ構造である可能性がある。スタックに保存されたデータは、遅く入るほど早く出てくるデータ構造(LIFO-Last in First Out)である可能性がある。キューは制限的にデータにアクセスできるデータ羅列構造であり、スタックとは異なり遅く保存されたデータほど遅く出てくるデータ構造(FIFO-FirstinFirstOut)であることができる。デッキはデータ構造の両端でデータを処理できるデータ構造になり得る。
非線形データ構造は、一つのデータの後に複数のデータが連結される構造である可能性がある。非線形データ構造はグラフ(Graph)データ構造を含むことができる。グラフデータ構造は頂点(Vertex)と幹線(Edge)で定義でき、幹線は互いに異なる二つの頂点を連結する線を含むことができる。グラフデータ構造ツリー(Tree)データ構造を含むことができる。ツリーデータ構造はツリーに含まれる複数の頂点のうち、互いに異なる2つの頂点を連結させる経路が一つのデータ構造になり得る。すなわち、グラフデータ構造でループ(loop)を形成しないデータ構造になり得る。
本明細書にかけて、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワークは同じ意味で使用できる。(以下ではニューラルネットワークで統一して記述する。)データ構造はニューラルネットワークを含むことができる。そして、ニューラルネットワークを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ニューラルネットワークを含むデータ構造はまた、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークの学習のための損失関数を含むことができる。ニューラルネットワークを含むデータ構造は、前記開示された構成のうち任意の構成要素を含むことができる。すなわち、ニューラルネットワークを含むデータ構造は、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークのトレーニングのための損失関数など、全部またはこれらの任意の組み合わせを含んで構成されることができる。前述した構成以外にも、ニューラルネットワークを含むデータ構造は、ニューラルネットワークの特性を決定する任意の他の情報を含むことができる。また、データ構造は、ニューラルネットワークの演算過程で使用されたり、発生するすべての形態のデータを含むことができ、前述の事項に制限されるわけではない。コンピューター可読保存媒体は、コンピューター可読記録媒体および/またはコンピューター可読伝送媒体を含むことができる。ニューラルネットワークは、一般的にノードと呼ばれる相互接続された計算単位の集合で構成されることができる。このようなノードはニューロン(neuron)と呼ばれることができる。ニューラルネットワークは、少なくとも1つ以上のノードを含んで構成される。
データ構造は、ニューラルネットワークに入力されるデータを含むことができる。ニューラルネットワークに入力されるデータを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ニューラルネットワークに入力されるデータは、ニューラルネットワークの学習過程で入力される学習データおよび/または学習が完了したニューラルネットワークに入力される入力データを含むことができる。ニューラルネットワークに入力されるデータは、前処理(pre-processing)を経たデータおよび/または前処理対象となるデータを含むことができる。前処理はデータをニューラルネットワークに入力させるためのデータ処理過程を含むことができる。したがって、データ構造は前処理対象となるデータおよび前処理で発生するデータを含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
データ構造は、ニューラルネットワークの加重値を含むことができる。(本明細書で加重値、パラメータは同じ意味で使用できる。)そして、神経回路網の加重値を含むデータ構造はコンピューター可読保存媒体に保存されることができる。ニューラルネットワークは、複数の加重値を含むことができる。加重値は可変的であり、ニューラルネットワークが望む機能を遂行するために、ユーザーまたはアルゴリズムによって可変することができる。例えば、一つの出力ノードに一つ以上の入力ノードがそれぞれのリンクによって相互接続された場合、出力ノードは前記出力ノードと連結された入力ノードに入力された値及びそれぞれの入力ノードに対応するリンクに設定されたパラメータに基づいて出力ノード値を決定することができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
制限ではなく例として、加重値は神経回路網学習過程で可変する加重値および/または神経回路網学習が完了した加重値を含むことができる。ニューラルネットワーク学習過程で可変される加重値は、学習サイクルが始まる時点の加重値および/または学習サイクルの間に可変される加重値を含むことができる。ニューラルネットワーク学習が完了した加重値は、学習サイクルが完了した加重値を含むことができる。したがって、ニューラルネットワークの加重値を含むデータ構造は、ニューラルネットワーク学習過程で可変される加重値および/またはニューラルネットワーク学習が完了した加重値を含むデータ構造を含むことができる。したがって、上述した加重値および/または各加重値の組み合わせは、神経回路網の加重値を含むデータ構造に含まれるものとする。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
ニューラルネットワークの加重値を含むデータ構造は、直列化(serialization)過程を経た後、コンピューター可読保存媒体(例えば、メモリ、ハードディスク)に保存されることができる。直列化は、データ構造を同一または他のコンピューティングデバイスに保存し、後で再構成して使用できる形態に変換する過程である可能性がある。コンピューティングデバイスは、データ構造を直列化し、ネットワークを介してデータを送受信することができる。直列化されたニューラルネットワークの加重値を含むデータ構造は、逆直列化(deserialization)を通じて同じコンピューティング装置または他のコンピューティング装置で再構成されることができる。ニューラルネットワークの加重値を含むデータ構造は、シリアル化に限定されるものではない。さらに、神経回路網の加重値を含むデータ構造は、コンピューティング装置の資源を最小限に使用しながら演算の効率を高めるためのデータ構造(例えば、非線形データ構造でB-Tree、Trie、m-way search tree、AVLtree、Red-Black Tree)を含むことができる。前述の事項は例示に過ぎず、本開示はこれに限定されない。
データ構造は、ニューラルネットワークのハイパーパラメータ(Hyper-parameter)を含むことができる。そして、ニューラルネットワークのハイパーパラメータを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ハイパーパラメータは、ユーザーによって可変される変数である可能性がある。ハイパーパラメータは、例えば、学習率(learning rate)、コスト関数(cost function)、学習サイクル反復回数、加重値初期化(例えば、加重値初期化対象となる加重値の範囲設定)、Hidden Unit個数(例えば、ヒドゥンレイヤーの個数、ヒドゥンレイヤーのノード数)を含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
図10は、本開示の実施例が具現化されることのできる例示的なコンピューティング環境に係る簡略で一般的な概略図である。
本開示が一般的にコンピューティング装置により具現化されることができると前述されているが、当業者であれば本開示が一つ以上のコンピューター上で実行されることのできるコンピューター実行可能命令及び/またはその他のプログラムモジュールと結合して及び/またはハードウェアとソフトウェアの組み合わせとして具現化されることができるということをよく理解できるだろう。
一般的に、本明細書におけるモジュールは、特定のタスクを実行したり、特定の抽象的なデータ類型を実装するルーティン、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら本開示の方法がシングルプロセッサーまたはマルチプロセッサーコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルド(handheld)コンピューティング装置、マイクロプロセッサー基盤、またはプログラム可能な家電製品、その他等々(これらは、それぞれ1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピューターシステムの構成によって実施されることができることをよく理解できるだろう。
本開示において説明された実施例は、さらに、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される分散コンピューティング環境で実施されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカルや遠隔メモリー保存装置の両方に位置することができる。
コンピューターは、多様なコンピューター可読媒体を含む。コンピューターによってアクセス可能な媒体はいずれもコンピューター可読媒体になり得るが、このようなコンピューター可読媒体は揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非-移動式媒体を含む。制限ではなく例として、コンピューター可読媒体は、コンピューター可読保存媒体及びコンピューター可読伝送媒体を含むことができる。コンピューター可読保存媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により実装される揮発性及び非揮発性媒体、一時的及び非-一時的媒体、移動式及び非移動式媒体を含む。コンピューター可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、DVD(digital video disk)またはその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置またはその他の磁気保存装置、またはコンピューターによってアクセスされることができ、情報を保存するのに使われることのできる任意のその他の媒体を含むが、これに限定されない。
コンピューター可読伝送媒体は、通常、搬送波(carrier wave)またはその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)にコンピューター可読命令、データ構造、プログラムモジュールまたはその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中で情報をエンコードするように、その信号の特性のうち1つ以上を設定または変更した信号を意味する。制限ではなく例として、コンピューター可読伝送媒体は、有線ネットワークまたは直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体のいずれかによる任意の組み合わせもまたコンピューター可読伝送媒体の範囲に含まれるものとする。
コンピューター(1102)を含む本開示の多様な側面を実現する例示的な環境(1100)が示されており、コンピューター(1102)は、処理装置(1104)、システムメモリー(1106)、システムバス(1108)を含む。システムバス(1108)は、システムメモリー(1106)(これに限定されない)をはじめとするシステムコンポーネントを処理装置(1104)につなげる。処理装置(1104)は、多様な商用プロセッサーのうち任意のプロセッサーになり得る。デュエルプロセッサーとその他のマルチプロセッサーアーキテクチャもまた処理装置(1104)として利用されることができる。
システムバス(1108)は、メモリーバス、周辺装置バス、そして多様な商用バスアーキテクチャの中から、任意のものを使用するローカルバスにさらに相互連結されることのできる複数の類型のバス構造のうちいずれかになり得る。システムメモリー(1106)は、読み取り専用メモリー(ROM)(1110)やランダムアクセスメモリー(RAM)(1112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(1110)に保存され、このBIOSは、起動中の時等にコンピューター(1102)の中の複数の構成要素間の情報のやりとりをサポートする基本的なルーティンを含む。RAM(1112)は、またデータをキャッシュするための静的RAM等の高速RAMを含むことができる。
コンピューター(1102)においては、また、内蔵型ハードディスクドライブ(HDD)(1114)(例えば、EIDE、SATA)―この内蔵型ハードディスクドライブ(1114)はまた適切なシャシー(図示は省略)の中で外付け型の用途で構成されることができる―、磁気フロッピーディスクドライブ(FDD)(1116)(例えば、移動式ディスケット(1118)から読み取ったりそれに書き込むためのものである)及び光ディスクドライブ(1120)(例えば、CD-ROMディスク(1122)を読み取ったり、DVD等のその他の高容量光媒体から読み取ったり、それに書き込むためのものである)を含む。ハードディスクドライブ(1114)、磁気ディスクドライブ(1116)及び光ディスクドライブ(1120)は、それぞれハードディスクドライブインターフェース(1124)、磁気ディスクドライブインターフェース(1126)及び光ドライブインターフェース(1128)によってシステムバス(1108)に繋がることができる。外付け型ドライブの実装のためのインターフェース(1124)は、例えば、USB(Universal Serial Bus)やIEEE1394インターフェース技術のうち、少なくとも1つまたはその両方を含む。
これらのドライブ及びこれらに係るコンピューター可読媒体は、データ、データ構造、コンピューターで実行可能な命令、その他等々の非揮発性保存を提供する。コンピューター(1102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述におけるコンピューター可読保存媒体に係る説明が、HDD、移動式磁気ディスク及びCDまたはDVD等の移動式光媒体について触れているが、当業者ならジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピューターにより読み取り可能な他の類型の保存媒体もまた例示的な運営環境で使われることができ、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることをよく理解できるだろう。
運営システム(1130)、1つ以上のアプリケーションプログラム(1132)、その他のプログラムモジュール(1134)及びプログラムデータ(1136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(1112)に保存されることができる。運営システム、アプリケーション、モジュール及び/またはデータの全部またはその一部分がまたRAM(1112)にキャッシュされることができる。本開示が商業的に利用可能な様々な運営システムまたは複数の運営システムの組み合わせにより実装されることができることをよく理解できるだろう。
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(1138)及びマウス(1140)等のポインティング装置を通じてコンピューター(1102)に命令及び情報を入力することができる。その他の入力装置(図示は省略)としてはマイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置が、よくシステムバス(1108)に繋がっている入力装置インターフェース(1142)を通じて処理装置(1104)に繋がることがあるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他等々のその他のインターフェースによって繋がることができる。
モニター(1144)または他の類型のディスプレイ装置も、ビデオアダプター(1146)等のインターフェースを通じてシステムバス(1108)に繋がる。モニター(1144)に加えて、コンピューターは一般的にスピーカー、プリンター、その他等々のその他の周辺出力装置(図示は省略)を含む。
コンピューター(1102)は、有線及び/または無線通信による(複数の)遠隔コンピューター(1148)等の1つ以上の遠隔コンピューターへの論理的接続を利用し、ネットワーク化された環境で動作することができる。(複数の)遠隔コンピューター(1148)は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサー基盤の娯楽機器、ピア装置またはその他の通常のネットワークノードになることができ、一般的にコンピューター(1102)について述べられた構成要素のうち、多数またはその全部を含むが、簡略化するために、メモリー保存装置(1150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(1152)及び/または、より大きいネットワーク、例えば、遠距離通信網(WAN)(1154)における有線・無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社では一般的なもので、イントラネット等の全社的コンピューターネットワーク(enterprise-wide computer network)を容易にし、これらはすべて全世界のコンピューターネットワーク、例えば、インターネットに繋がることができる。
LANネットワーキング環境で使われるとき、コンピューター(1102)は、有線及び/または無線通信ネットワークインターフェース、または、アダプター(1156)を通じてローカルネットワーク(1152)に繋がる。アダプター(1156)は、LAN(1152)への有線または無線通信を容易にすることができ、このLAN(1152)は、また無線アダプター(1156)と通信するためにそれに設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(1102)は、モデム(1158)を含むことができたり、WAN(1154)上の通信サーバーに繋がったり、またはインターネットを通じる等、WAN(1154)を通じて通信を設定するその他の手段を持つ。内蔵型又は外付け型、そして、有線または無線装置になり得るモデム(1158)は、直列ポートインターフェース(1142)を通じてシステムバス(1108)に繋がる。ネットワーク化された環境において、コンピューター(1102)について説明されたプログラムモジュールまたはその一部分が、遠隔メモリー/保存装置(1150)に保存されることができる。図示されたネットワーク接続が例示的なものであり、複数のコンピューター間で通信リンクを設定する他の手段が使われることができるということは容易に理解できることである。
コンピューター(1102)は、無線通信で配置されて動作する任意の無線装置またはユニット、例えば、プリンター、スキャナー、デスクトップ及び/または携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備または場所及、及び電話と通信する動作をする。これは、少なくともWi-Fi及びブルートゥース(登録商標)無線技術を含む。従って、通信は、従来のネットワークのように予め定義された構造であったり、単純に少なくとも2つの装置の間でのアドホック通信(ad hoc communication)になり得る。
Wi-Fi(Wireless Fidelity)は、有線で繋がっていなくても、インターネット等への接続を可能にする。Wi-Fiは、このような装置、例えば、コンピューターが室内及び室外で、つまり基地局の通話圏内のどこからでもデータを送受信できるようにするセル電話のような無線技術である。Wi-Fiネットワークは、安全で信頼性があり、高速である無線接続を提供するためにIEEE802.11(a、b、g、その他)という無線技術を使う。コンピューターを互いに、インターネット及び有線ネットワーク(IEEE802.3またはイーサネットを使う)に接続するためにWi-Fiが使われることができる。Wi-Fiネットワークは、非認可2.4や5GHzの無線帯域において、例えば、11Mbps(802.11a)または54Mbps(802.11b)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品において動作することができる。
本開示の技術分野における通常の知識を持つ者は情報及び信号が任意の多様な異なる技術及び手法を利用して示されることができることを理会できる。例えば、前記の説明において参照できるデータ、指示、命令、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁気派、磁場等または粒子、光学場等または粒子、またはこれらの任意の組み合わせによって示されることができる。
本開示の技術分野において通常の知識を持つ者は、ここに開示された実施例に係る説明で取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサー、手段、回路、アルゴリズム段階が電子ハードウェア、(利便性のために、ここでは「ソフトウェア」と称される)多様な形のプログラムまたは設計コード、またはこれらすべての結合により実装されることができることを理解できるだろう。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階がこれらの機能に着目して前記で一般的に説明された。このような機能がハードウェアやソフトウェアで実装されるかどうかは、特定のアプリケーションおよび全体システムに対して付与される設計上の制限によって決まる。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な手法で説明された機能を実現することができるが、このような実現の決定は、本開示の範囲を逸脱するものと解釈されてはならない。
ここに示された多様な実施例は、方法、装置、または標準プログラミング及び/またはエンジニアリング技術を使った製造物品(article)によって実現できる。用語「製造物品」は、任意のコンピューターで可読な装置からアクセス可能なコンピュータープログラム、キャリアー、または媒体(media)を含む。例えば、コンピューターで可読保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるものではない。また、ここに示されている多様な保存媒体は、情報を保存するための1つ以上の装置及び/または他の機械可読媒体を含む。
示されたプロセスにおける複数の段階の特定の順番または階層構造は、例示的なアプローチの一例であることを理解すべきである。設計上の優先順位に基づき、本開示の範囲内で、プロセスにおける段階の特定の順番または階層構造が再配列されることができることを理解すべきである。添付の方法請求項は、サンプルとしての順番で、多様な段階のエレメントを提供するが、示された特定の順番または階層構造に限定されることを意味するわけではない。
示された実施例に関する説明は、任意の本開示の技術分野において通常の知識を持つ者が、本開示を利用したり、または実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。

Claims (9)

  1. 少なくとも1つのプロセッサーを含むコンピューティング装置により実行される、テキスト情報の中からターゲット単語と対応する単語を識別する方法であって、
    前記ターゲット単語を決定する段階;
    前記ターゲット単語に係る編集距離に係るしきい値を決定する段階;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定する段階;及び
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する段階;
    を含み、
    前記編集距離に係るしきい値を決定する段階は、
    前記ターゲット単語の長さと予め決められた比率しきい値との間の演算に基づき、前記編集距離に係るしきい値を動的に決定する段階
    を含
    前記編集距離に係るしきい値を決定する段階は、
    絶対しきい値を決定する段階
    をさらに含み、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定する段階は、
    前記ターゲット単語との前記編集距離が前記動的に決定されたしきい値以下であり、且つ、前記絶対しきい値以下である単語を決定する段階
    をさらに含む、
    方法。
  2. 少なくとも1つのプロセッサーを含むコンピューティング装置により実行される、テキスト情報の中からターゲット単語と対応する単語を識別する方法であって、
    前記ターゲット単語を決定する段階;
    前記ターゲット単語に係る編集距離に係るしきい値を決定する段階;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定する段階;及び
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する段階;
    を含み、
    前記編集距離は発音に基づいて決定され、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を識別する段階は、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換する段階;
    前記テキスト情報に関連する複数の発音記号の中から、前記ターゲット単語に関連する複数の発音記号との前記編集距離が前記しきい値以下である複数の発音記号を識別する段階;及び
    前記識別された複数の発音記号に基づき前記単語を識別する段階;
    を含み、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換する段階は、
    前記テキスト情報に含まれている単語及び前記ターゲット単語をIPA(international Phonetic Alphabet)のアルファベットに変換する段階;
    変換された前記IPAのアルファベットをローマ字表記に変換する段階;
    変換された前記ローマ字表記を字素単位に分離する段階;及び
    字素単位に分離されたものを音素単位に変換する段階;
    を含む、
    方法。
  3. 少なくとも1つのプロセッサーを含むコンピューティング装置により実行される、テキスト情報の中からターゲット単語と対応する単語を識別する方法であって、
    前記ターゲット単語を決定する段階;
    前記ターゲット単語に係る編集距離に係るしきい値を決定する段階;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定する段階;及び
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する段階;
    を含み、
    前記ターゲット単語と対応する単語は発音またはテキストに基づき決定され、
    前記編集距離は、発音基準またはテキスト基準で演算され、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を識別する段階は、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換する段階を含み、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換する段階は、
    分かち書き又は文章符号のうち、少なくとも1つを考慮するか否かを選択する段階を含む、
    方法。
  4. コンピューター可読保存媒体に保存されているコンピュータープログラムであって、
    前記コンピュータープログラムは、1つ以上のプロセッサーにおいて実行される場合、テキスト情報の中からターゲット単語と対応する単語を識別するための以下の動作を実行するようにし、前記動作は:
    前記ターゲット単語を決定する動作;
    前記ターゲット単語に係る編集距離に係るしきい値を決定する動作;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定する動作;及び
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する動作;
    を含み、
    前記編集距離に係るしきい値を決定する動作は、
    前記ターゲット単語の長さと予め決められた比率しきい値との間の演算に基づき、前記編集距離に係るしきい値を動的に決定する動作
    を含
    前記編集距離に係るしきい値を決定する動作は、
    絶対しきい値を決定する動作をさらに含み、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定する動作は、
    前記ターゲット単語との前記編集距離が前記動的に決定されたしきい値以下であり、且つ、前記絶対しきい値以下である単語を決定する動作をさらに含む、
    コンピューター可読保存媒体に保存されたコンピュータープログラム。
  5. テキスト情報の中からターゲット単語と対応する単語を識別するためのコンピューティング装置であって、
    少なくとも1つのプロセッサー;及び
    メモリー;
    を含み、
    前記少なくとも1つのプロセッサーは、
    前記ターゲット単語を決定し;
    前記ターゲット単語に係る編集距離に係るしきい値を決定し;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定し;且つ
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別するように構成され、
    前記編集距離に係るしきい値を決定することは、
    前記ターゲット単語の長さと予め決められた比率しきい値との間の演算に基づき、前記編集距離に係るしきい値を動的に決定すること
    を含
    前記編集距離に係るしきい値を決定することは、
    絶対しきい値を決定することをさらに含み、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定することは、
    前記ターゲット単語との前記編集距離が前記動的に決定されたしきい値以下であり、且つ、前記絶対しきい値以下である単語を決定することをさらに含む、
    装置。
  6. コンピューター可読保存媒体に保存されているコンピュータープログラムであって、
    前記コンピュータープログラムは、1つ以上のプロセッサーにおいて実行される場合、テキスト情報の中からターゲット単語と対応する単語を識別するための以下の動作を実行するようにし、前記動作は:
    前記ターゲット単語を決定する動作;
    前記ターゲット単語に係る編集距離に係るしきい値を決定する動作;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定する動作;及び
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する動作;
    を含み、
    前記編集距離は発音に基づいて決定され、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を識別する動作は、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換する動作;
    前記テキスト情報に関連する複数の発音記号の中から、前記ターゲット単語に関連する複数の発音記号との前記編集距離が前記しきい値以下である複数の発音記号を識別する動作;及び
    前記識別された複数の発音記号に基づき前記単語を識別する動作;
    を含み、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換する動作は、
    前記テキスト情報に含まれている単語及び前記ターゲット単語をIPAのアルファベットに変換する動作;
    変換された前記IPAのアルファベットをローマ字表記に変換する動作;
    変換された前記ローマ字表記を字素単位に分離する動作;及び
    字素単位に分離されたものを音素単位に変換する動作;
    を含む、コンピューター可読保存媒体に保存されたコンピュータープログラム。
  7. コンピューター可読保存媒体に保存されているコンピュータープログラムであって、
    前記コンピュータープログラムは、1つ以上のプロセッサーにおいて実行される場合、テキスト情報の中からターゲット単語と対応する単語を識別するための以下の動作を実行するようにし、前記動作は:
    前記ターゲット単語を決定する動作;
    前記ターゲット単語に係る編集距離に係るしきい値を決定する動作;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定する動作;及び
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別する動作;
    を含み、
    前記ターゲット単語と対応する単語は発音またはテキストに基づき決定され、
    前記編集距離は、発音基準またはテキスト基準で演算され、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を識別する動作は、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換する動作を含み、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換する動作は、
    分かち書き又は文章符号のうち、少なくとも1つを考慮するか否かを選択する動作を含む、
    コンピューター可読保存媒体に保存されたコンピュータープログラム。
  8. テキスト情報の中からターゲット単語と対応する単語を識別するためのコンピューティング装置であって、
    少なくとも1つのプロセッサー;及び
    メモリー;
    を含み、
    前記少なくとも1つのプロセッサーは、
    前記ターゲット単語を決定し;
    前記ターゲット単語に係る編集距離に係るしきい値を決定し;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定し;且つ
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別するように構成され、
    前記編集距離は発音に基づいて決定され、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を識別することは、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換すること;
    前記テキスト情報に関連する複数の発音記号の中から、前記ターゲット単語に関連する複数の発音記号との前記編集距離が前記しきい値以下である複数の発音記号を識別すること;及び
    前記識別された複数の発音記号に基づき前記単語を識別すること;
    を含み、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号に変換することは、
    前記テキスト情報に含まれている単語及び前記ターゲット単語をIPAのアルファベットに変換すること;
    変換された前記IPAのアルファベットをローマ字表記に変換すること;
    変換された前記ローマ字表記を字素単位に分離すること;及び
    字素単位に分離されたものを音素単位に変換すること;
    を含む、装置。
  9. テキスト情報の中からターゲット単語と対応する単語を識別するためのコンピューティング装置であって、
    少なくとも1つのプロセッサー;及び
    メモリー;
    を含み、
    前記少なくとも1つのプロセッサーは、
    前記ターゲット単語を決定し;
    前記ターゲット単語に係る編集距離に係るしきい値を決定し;
    前記テキスト情報に含まれている複数の単語のうち、前記ターゲット単語との前記編集距離が前記しきい値以下である単語を決定し;且つ
    前記決定された単語に基づき前記ターゲット単語と対応する単語を識別するように構成され、
    前記ターゲット単語と対応する単語は発音またはテキストに基づき決定され、
    前記編集距離は、発音基準またはテキスト基準で演算され、
    前記ターゲット単語との前記編集距離が前記しきい値以下である単語を識別することは、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換することを含み、
    前記テキスト情報に含まれている単語及び前記ターゲット単語を複数の発音記号又は複数の字素に変換することは、
    分かち書き又は文章符号のうち、少なくとも1つを考慮するか否かを選択することを含む、
    装置。
JP2023114241A 2022-07-15 2023-07-12 テキスト情報の中からターゲット単語と対応する単語を識別する方法(method for identify a word corresponding to a target word in text information) Active JP7475592B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220087521A KR102517661B1 (ko) 2022-07-15 2022-07-15 텍스트 정보에서 타겟 단어에 대응하는 단어를 식별하는 방법
KR10-2022-0087521 2022-07-15

Publications (2)

Publication Number Publication Date
JP2024012152A JP2024012152A (ja) 2024-01-25
JP7475592B2 true JP7475592B2 (ja) 2024-04-30

Family

ID=85928714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023114241A Active JP7475592B2 (ja) 2022-07-15 2023-07-12 テキスト情報の中からターゲット単語と対応する単語を識別する方法(method for identify a word corresponding to a target word in text information)

Country Status (3)

Country Link
US (1) US20240028827A1 (ja)
JP (1) JP7475592B2 (ja)
KR (1) KR102517661B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117371439B (zh) * 2023-12-04 2024-03-08 环球数科集团有限公司 一种基于aigc的相似词判断方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128672A (ja) 2010-12-15 2012-07-05 Waseda Univ 相同性検索装置及びプログラム
JP2015082138A (ja) 2013-10-21 2015-04-27 富士通株式会社 音声検索装置及び音声検索方法
JP2016180916A (ja) 2015-03-25 2016-10-13 日本電信電話株式会社 音声認識システム、音声認識方法、プログラム
US10032046B1 (en) 2017-06-28 2018-07-24 International Business Machines Corporation Protecting confidential information
JP2020077159A (ja) 2018-11-07 2020-05-21 株式会社東芝 対話システム、対話装置、対話方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4171323B2 (ja) * 2003-02-27 2008-10-22 日本電信電話株式会社 認識誤り訂正方法、装置、およびプログラム
CN105446957B (zh) * 2015-12-03 2018-07-20 小米科技有限责任公司 相似性确定方法、装置及终端
CN112115706B (zh) * 2020-08-31 2022-05-03 北京字节跳动网络技术有限公司 文本处理方法、装置、电子设备及介质
CN113012705B (zh) * 2021-02-24 2022-12-09 海信视像科技股份有限公司 一种语音文本的纠错方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128672A (ja) 2010-12-15 2012-07-05 Waseda Univ 相同性検索装置及びプログラム
JP2015082138A (ja) 2013-10-21 2015-04-27 富士通株式会社 音声検索装置及び音声検索方法
JP2016180916A (ja) 2015-03-25 2016-10-13 日本電信電話株式会社 音声認識システム、音声認識方法、プログラム
US10032046B1 (en) 2017-06-28 2018-07-24 International Business Machines Corporation Protecting confidential information
JP2020077159A (ja) 2018-11-07 2020-05-21 株式会社東芝 対話システム、対話装置、対話方法、及びプログラム

Also Published As

Publication number Publication date
KR102517661B1 (ko) 2023-04-04
US20240028827A1 (en) 2024-01-25
JP2024012152A (ja) 2024-01-25

Similar Documents

Publication Publication Date Title
CN111753081B (zh) 基于深度skip-gram网络的文本分类的系统和方法
WO2023065544A1 (zh) 意图分类方法、装置、电子设备及计算机可读存储介质
KR102189688B1 (ko) 동의어 추출 방법
CN115393692A (zh) 基于生成式预训练语言模型的联想文本到图像生成方法
KR102444457B1 (ko) 단어 그래프를 이용한 대화의 요약 생성 방법
CN113591483A (zh) 一种基于序列标注的文档级事件论元抽取方法
KR102465571B1 (ko) 문서 데이터의 주제어 분류를 수행하는 기법
CN113377930B (zh) 面向中文短文本的实体识别与实体链接方法
KR102379660B1 (ko) 딥러닝 기반 의미역 분석을 활용하는 방법
JP7475592B2 (ja) テキスト情報の中からターゲット単語と対応する単語を識別する方法(method for identify a word corresponding to a target word in text information)
US11966700B2 (en) Neural tagger with deep multi-level model
JP7333490B1 (ja) 音声信号に関連するコンテンツを決定する方法、コンピューター可読保存媒体に保存されたコンピュータープログラム及びコンピューティング装置
KR102492277B1 (ko) 멀티모달 정보를 이용한 질의응답 수행 방법
Das et al. Language identification of Bengali-English code-mixed data using character & phonetic based LSTM models
KR102540178B1 (ko) 음성 인식 결과를 편집하는 방법
KR102537165B1 (ko) 음성 인식 결과 및 참조 데이터로부터 중요 부분을 결정하고 연계하는 방법
KR102596190B1 (ko) 텍스트 정보를 수정하는 방법
KR102497436B1 (ko) 음성 신호를 포함하는 컨텐츠를 기반으로 타겟 단어와 관련된 정보를 획득하는 방법
KR20200141419A (ko) 동의어 추출 방법
JP7475589B2 (ja) 外国語を含むオーディオの音声認識方法
KR102621021B1 (ko) 감정 중립적인 음성을 생성하는 음성 변환 모델을 학습시키는 방법
KR102552401B1 (ko) Asr 기반의 질의응답 방법
KR102648689B1 (ko) 텍스트 오류를 검출하는 방법
KR102537173B1 (ko) 주 화자에 기초하여 요약문을 생성하는 방법
KR102498063B1 (ko) 계층적 언어 정보를 이용한 음성 인식 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230712

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240408

R150 Certificate of patent or registration of utility model

Ref document number: 7475592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150