JP7807658B2 - 書換プログラム、書換方法および情報処理装置 - Google Patents
書換プログラム、書換方法および情報処理装置Info
- Publication number
- JP7807658B2 JP7807658B2 JP2022096965A JP2022096965A JP7807658B2 JP 7807658 B2 JP7807658 B2 JP 7807658B2 JP 2022096965 A JP2022096965 A JP 2022096965A JP 2022096965 A JP2022096965 A JP 2022096965A JP 7807658 B2 JP7807658 B2 JP 7807658B2
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- code
- data
- program
- training
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Stored Programmes (AREA)
Description
[第1の実施の形態]
第1の実施の形態を説明する。
第1の実施の形態の情報処理装置10は、実行時にスコアが算出されるように機械学習プログラムを書き換える。情報処理装置10は、複数の機械学習プログラムをそれぞれ書き換えてもよい。また、情報処理装置10は、書き換えられた機械学習プログラムを実行することで、機械学習プログラムに対するスコアを算出してもよい。情報処理装置10は、スコアが付与された機械学習プログラムを用いて、AutoMLをチューニングしてもよい。AutoMLは、機械学習モデルのタスクおよび訓練データが指定されると、そのタスクを実現するための機械学習プログラムを生成する。情報処理装置10は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置10が、コンピュータ、書換装置または機械学習装置と呼ばれてもよい。
次に、第2の実施の形態を説明する。
第2の実施の形態の情報処理装置100は、複数の機械学習プログラムのサンプルを収集し、各機械学習プログラムにスコアを付与する。情報処理装置100は、スコアが付与された複数の機械学習プログラムを用いて、タスクに応じた機械学習プログラムを生成するAutoMLを訓練する。情報処理装置100は、訓練されたAutoMLを用いて、所望のタスクに応じた機械学習プログラムを生成する。そして、情報処理装置100は、生成された機械学習プログラムを実行して機械学習モデルを生成する。ただし、上記の処理が異なる情報処理装置によって実行されてもよい。
情報処理装置100は、バスに接続されたCPU101、RAM102、HDD103、GPU104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
図3は、AutoMLを用いた機械学習の流れの例を示す図である。
情報処理装置100は、AutoMLを訓練するためのサンプルデータを収集する。サンプルデータは、複数の機械学習プログラムそれぞれについて、データセットと問題定義と機械学習プログラムとスコアとを対応付ける。
機械学習プログラムを書き換えるために、情報処理装置100は、機械学習ライブラリのAPIドキュメント131を取得し、APIドキュメント131からクラス名リスト132を生成する。複数の機械学習ライブラリが存在する場合、情報処理装置100は、複数のAPIドキュメントからクラス名リスト132を生成する。
情報処理装置100は、前述のクラス名リスト132を参照して、機械学習プログラム133を機械学習プログラム134に書き換える。機械学習プログラム133ではスコアが算出されない一方、機械学習プログラム134ではスコアが算出される。
抽象構文木140は、機械学習プログラム133に対応する。図6は、抽象構文木140の全体のうち、機械学習プログラム133の3行目に相当する部分を示している。ノード141は、fit関数の第1引数である入力データXを示す。ノード142は、fit関数の第2引数である正解データyを示す。
抽象構文木150は、機械学習プログラム134に対応する。図7は、抽象構文木150の全体のうち、機械学習プログラム134の3行目および4行目に相当する部分を示している。抽象構文木140を書き換えることで、抽象構文木150が生成される。
図8は、情報処理装置の機能例を示すブロック図である。
情報処理装置100は、APIドキュメント記憶部121、プログラム記憶部122およびAutoML記憶部123を有する。これらの記憶部は、例えば、RAM102またはHDD103を用いて実装される。また、情報処理装置100は、クラス名リスト生成部124、プログラム書換部125、スコア算出部126、AutoML訓練部127、プログラム生成部128およびモデル生成部129を有する。これらの処理部は、例えば、CPU101またはGPU104とプログラムとを用いて実装される。
(S10)クラス名リスト生成部124は、機械学習ライブラリのAPIドキュメントから、機械学習モデルの種類に対応するモデルクラスのクラス名を抽出する。クラス名リスト生成部124は、抽出されたクラス名を列挙したクラス名リストを生成する。
(S14)プログラム書換部125は、コードFにおいてfit関数に渡されるデータセットを特定する。プログラム書換部125は、コードFの前に、データセットを訓練データとテストデータとに分割するコードを挿入する。
(S16)プログラム書換部125は、ステップS12で特定されたモデル変数に対してpredict関数を呼び出すコードPを機械学習プログラムから検索する。
11 記憶部
12 処理部
13 機械学習ライブラリ
14,15 機械学習プログラム
14-1,15-1,15-2,15-3 コード
Claims (8)
- 機械学習ライブラリに含まれるモジュールのモジュール名に基づいて、前記機械学習ライブラリを使用する機械学習プログラムの中から、機械学習モデルを訓練する訓練関数を呼び出す第1のコードを検出し、
前記第1のコードの前に、前記第1のコードで前記訓練関数に渡される第1の訓練データを、第2の訓練データとテストデータとに分割する第2のコードを挿入し、
前記第1のコードを、前記訓練関数に前記第2の訓練データを渡すように書き換え、
前記第1のコードの後に、訓練された前記機械学習モデルと前記テストデータに含まれる入力データとから生成される予測データと、前記テストデータに含まれる正解データとに基づいてスコアを算出する第3のコードを挿入する、
処理をコンピュータに実行させる書換プログラム。 - 前記機械学習ライブラリの使用方法を示すドキュメントから前記モジュール名を抽出する処理を前記コンピュータに更に実行させ、
前記第1のコードの検出は、前記ドキュメントから抽出された前記モジュール名を前記機械学習プログラムの中から検索する処理を含む、
請求項1記載の書換プログラム。 - 前記第1のコードの検出は、前記機械学習プログラムの構文解析を行って抽象構文木を生成し、前記抽象構文木を用いて前記第1のコードを検出する処理を含む、
請求項1記載の書換プログラム。 - 前記第3のコードの挿入は、前記機械学習プログラムの中から、前記機械学習モデルを用いて前記予測データを生成する予測関数を呼び出す第4のコードを検出し、前記第4のコードを、前記予測関数に前記入力データを渡すように書き換える処理を含む、
請求項1記載の書換プログラム。 - 前記モジュールは、前記機械学習モデルを表すクラスであり、前記訓練関数は、前記クラスに含まれるメソッドである、
請求項1記載の書換プログラム。 - 書き換えられた前記機械学習プログラムを前記第1の訓練データを用いて実行し、算出された前記スコアを書き換え前の前記機械学習プログラムと対応付けて保存する処理を前記コンピュータに更に実行させる、
請求項1記載の書換プログラム。 - 機械学習ライブラリに含まれるモジュールのモジュール名に基づいて、前記機械学習ライブラリを使用する機械学習プログラムの中から、機械学習モデルを訓練する訓練関数を呼び出す第1のコードを検出し、
前記第1のコードの前に、前記第1のコードで前記訓練関数に渡される第1の訓練データを、第2の訓練データとテストデータとに分割する第2のコードを挿入し、
前記第1のコードを、前記訓練関数に前記第2の訓練データを渡すように書き換え、
前記第1のコードの後に、訓練された前記機械学習モデルと前記テストデータに含まれる入力データとから生成される予測データと、前記テストデータに含まれる正解データとに基づいてスコアを算出する第3のコードを挿入する、
処理をコンピュータが実行する書換方法。 - 機械学習ライブラリを使用する機械学習プログラムを記憶する記憶部と、
前記機械学習ライブラリに含まれるモジュールのモジュール名に基づいて、前記機械学習プログラムの中から、機械学習モデルを訓練する訓練関数を呼び出す第1のコードを検出し、前記第1のコードの前に、前記第1のコードで前記訓練関数に渡される第1の訓練データを、第2の訓練データとテストデータとに分割する第2のコードを挿入し、前記第1のコードを、前記訓練関数に前記第2の訓練データを渡すように書き換え、前記第1のコードの後に、訓練された前記機械学習モデルと前記テストデータに含まれる入力データとから生成される予測データと、前記テストデータに含まれる正解データとに基づいてスコアを算出する第3のコードを挿入する処理部と、
を有する情報処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022096965A JP7807658B2 (ja) | 2022-06-16 | 2022-06-16 | 書換プログラム、書換方法および情報処理装置 |
| US18/299,875 US20230409976A1 (en) | 2022-06-16 | 2023-04-13 | Rewriting method and information processing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022096965A JP7807658B2 (ja) | 2022-06-16 | 2022-06-16 | 書換プログラム、書換方法および情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023183447A JP2023183447A (ja) | 2023-12-28 |
| JP7807658B2 true JP7807658B2 (ja) | 2026-01-28 |
Family
ID=89168859
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022096965A Active JP7807658B2 (ja) | 2022-06-16 | 2022-06-16 | 書換プログラム、書換方法および情報処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20230409976A1 (ja) |
| JP (1) | JP7807658B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12038954B2 (en) * | 2021-03-31 | 2024-07-16 | Rovi Guides, Inc. | Query correction based on reattempts learning |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017527008A (ja) | 2014-06-30 | 2017-09-14 | アマゾン・テクノロジーズ・インコーポレーテッド | 機械学習のための特徴処理レシピ |
| US20200134476A1 (en) | 2018-10-24 | 2020-04-30 | International Business Machines Corporation | Generating code performance hints using source code coverage analytics, inspection, and unstructured programming documents |
| US20210209420A1 (en) | 2020-01-08 | 2021-07-08 | Hon Hai Precision Industry Co., Ltd. | Data generating method, and computing device and non-transitory medium implementing same |
-
2022
- 2022-06-16 JP JP2022096965A patent/JP7807658B2/ja active Active
-
2023
- 2023-04-13 US US18/299,875 patent/US20230409976A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017527008A (ja) | 2014-06-30 | 2017-09-14 | アマゾン・テクノロジーズ・インコーポレーテッド | 機械学習のための特徴処理レシピ |
| US20200134476A1 (en) | 2018-10-24 | 2020-04-30 | International Business Machines Corporation | Generating code performance hints using source code coverage analytics, inspection, and unstructured programming documents |
| US20210209420A1 (en) | 2020-01-08 | 2021-07-08 | Hon Hai Precision Industry Co., Ltd. | Data generating method, and computing device and non-transitory medium implementing same |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023183447A (ja) | 2023-12-28 |
| US20230409976A1 (en) | 2023-12-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109697162B (zh) | 一种基于开源代码库的软件缺陷自动检测方法 | |
| Schelter et al. | Fairprep: Promoting data to a first-class citizen in studies on fairness-enhancing interventions | |
| EP1090275B1 (en) | A computer system and process for explaining behaviour of a model that maps input data to output data | |
| Yang et al. | Aspect-based api review classification: How far can pre-trained transformer model go? | |
| JPH08241193A (ja) | コード・セグメント解析方法。 | |
| US11593700B1 (en) | Network-accessible service for exploration of machine learning models and results | |
| Polisetty et al. | On usefulness of the deep-learning-based bug localization models to practitioners | |
| US12333281B2 (en) | Method and system for automated discovery of artificial intelligence (AI)/ machine learning (ML) assets in an enterprise | |
| Alrabaee et al. | Bineye: Towards efficient binary authorship characterization using deep learning | |
| JP6955162B2 (ja) | 解析装置、解析方法および解析プログラム | |
| US20220076157A1 (en) | Data analysis system using artificial intelligence | |
| Olari et al. | Data-related practices for creating Artificial Intelligence systems in K-12 | |
| CN114385491B (zh) | 一种基于深度学习的js转译器缺陷检测方法 | |
| CN116627796A (zh) | 一种自动协同进化生产代码和测试用例的方法 | |
| JP2005301859A (ja) | コード検索プログラム及びコード検索装置 | |
| JP7807658B2 (ja) | 書換プログラム、書換方法および情報処理装置 | |
| Koenig et al. | NEURAL-UML: Intelligent recognition system of structural elements in UML class diagram | |
| JP7450187B2 (ja) | プログラム、情報処理方法、及び情報処理装置 | |
| CN120631791A (zh) | 测试管理方法、设备、介质及产品 | |
| Eng et al. | Predicting Defective Visual Code Changes in a Multi-Language AAA Video Game Project | |
| CN119576625A (zh) | 代码日志语句的生成方法、装置、设备、存储介质和程序产品 | |
| US11842175B2 (en) | Dynamic recommendations for resolving static code issues | |
| CN112100314B (zh) | 一种基于软件开发问答网站的api教程汇编生成方法 | |
| Kotva Goudoungou et al. | Covid-19 Data Preprocessing Approach in Machine Learning for Prediction | |
| Dwarakanath et al. | Software defect prediction using deep semantic feature learning |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250115 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20251209 |
|
| 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: 20251216 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251229 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7807658 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |