Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NLP Tech Talk #4 プラント知識の意味検索〜Sudachiを添えて/NLP Tech Talk 4 Plant Knowledge Meaning Search with Sudachi

Makoto.Niimi
November 26, 2021

NLP Tech Talk #4 プラント知識の意味検索〜Sudachiを添えて/NLP Tech Talk 4 Plant Knowledge Meaning Search with Sudachi

2021/11/26のNLP TECH TALK#4のLTでお話ししたslideです。
https://worksapplications.connpass.com/event/228075/

Makoto.Niimi

November 26, 2021
Tweet

Other Decks in Research

Transcript

  1. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    NLP Tech Talk #4 プラント知識の意味検索 〜Sudachiを添えて 新美 誠 横河電機株式会社 マーケティング本部 イノベーションセンター DXデザイン部 コグニティブマシンGr November 26, 2021
  2. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    イントロ ◼ 横河電機での自然言語処理の取り組みの1つをご紹介します。 ◼ 横河電機は工場、プラントなどの制御を得意とする会社です。 ◼ 工場/プラントでのDX(デジタルトランスフォーメイション)はまだまだで、不定型なドキュメント に埋もれた知識・経験・ノウハウなどが沢山埋もれています。 ◼ これらの不定型なドキュメントを、自然言語処理の技術である分散埋め込み表現などを 使って(疑似)意味検索する試みを紹介します。 1
  3. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    横河電機=制御事業+計測事業+ライフイノベーション事業 3 | 2021年4月 発行 | 横河電機株式会社 コミュニケーション統括センター © Yokogawa Electric Corporation 制御事業(1) 16 Industrial Autonomyに向けた取り組み 自動から自律へ DX、Industrial Autonomy(産業における自律化)、SDGsへの対応を背景に、Autonomous Operations(操業の自律化)に向けた動きが 加速しています。この動きを、YOKOGAWAは制御事業の進むべき新しい方向性としてIA2IA(Industrial Automation to Industrial Autonomy)と表現し、変革を促進しています。 YOKOGAWAが提唱するIndustrial Autonomy プラントの設備や操業自体が、学習し、適応する 機能を持つようになること。それにより、人間の介入は 最低限にとどまり、オペレーターはより高いレベルの 最適化に取り組むことが可能となる。 | 2021年4月 発行 | 横河電機株式会社 コミュニケーション統括センター © Yokogawa Electric Corporation 制御事業(4) 19 OpreX Measurement Field instruments, analytical instruments, and recorders OpreX Control Production control and safety instrumented systems CENTUM VP 統合生産制御システム FA-M3V レンジフリーコントローラ e-RT3 Plus 組み込みコントローラ/ AIプラットフォーム ProSafe-RS 安全計装システム STARDOM ネットワークベース生産システム DPharp EJX 差圧・圧力伝送器 TDLS8000 レーザガス分析計 SMARTDAC+ GX10/GX20 GP10/GP20 ペーパレスレコーダ GC8000 ガスクロマトグラフ DTSX 光ファイバ温度センサ お客様の経営や操業の変更に迅速に対応し、高効率かつ高品質、そして安全で安定した操業基盤を支える制御システム 高精度な測定、データ収集、分析を可能にする現場機器やシステム ➢ Control and safety system ➢ Control improvement software ➢ Control devices ➢ Quality control system ➢ Data acquisition ➢ Field instruments ➢ Analyzers ➢ Components 無線フィールド機器 無線伝送器, IIoT向け無線 ソリューション FAST/TOOLS SCADAソフトウエア ROTAMASS TIシリーズ コリオリ式質量流量計 FluidCom ケミカルインジェクションコントローラ AI搭載 「すべての人の豊かな生活(Well-being)」の実現に貢献することを 目指しています。 ライフイノベーション事業 ※本事業のソリューション製品は、計測事業と計測事業に分類されています。 | 2021年4月 発行 | 横河電機株式会社 コミュニケーション統括センター © Yokogawa Electric Corporation 計測事業 / 航機その他事業 21 測定器 WT5000 プレシジョンパワーアナライザ AQ6370D 光スペクトラムアナライザ DL850E スコープコーダ AQ7280 OTDR 光ファイバ試験器 ライフサイエンス機器 航機その他事業 フラットパネルディスプレイ 航空機用フラットパネルディスプレイ CA700 圧力キャリブレータ CA300 プロセスキャリブレータ CellVoyager CV8000 ハイスループット細胞機能探索システム CSU-W1 SoRa 共焦点スキャナユニット Single CellomeTM Unit SU10 1細胞解析ソリューション 商号 横河電機株式会社 創立 大正4年 (1915年) 9月1日 設立 大正9年 (1920年) 12月1日 資本金 434億105万円 (2020年3月末現在) 連結売上高 4,044億円 (2019年度) 関係会社数 114社 従業員数 18,107人 (連結) 拠点展開国数 62か国 https://www.yokogawa.co.jp/
  4. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    マーケティング本部 インベーションセンター DXデザイン部とは? 4 イノベーション活動 先行開発 製品開発 現在のビジネス 予測可能な未来 予測不可能な未来 不確実な未来 現在 未来 事業部 イノベーションセンター 横河電機の研究開発の基本姿勢と役割 イノベーションセンター 全社の研究開発部門、少し先の未来を考える マーケティング本部の傘下にあるのは、研究の出口戦略も考えるため DXデザイン部 研究開発部門の中で、デジタルトランスフォーメーション(DX)を考える部署 (絵や図面を描く、いわゆるデザイナーさんは居ません) https://www.yokogawa.co.jp/news/briefs/2021/2021-04-20-ja/ おまけ
  5. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    私の略歴 5 ➢ 学部学生時代(Deep Learningがなかった 遙か昔) • LispやPrologなど、その当時には人工知能研究によく使われる言語で遊んでいた。 • Lispで「小さな対話システム」を作ったり、Lisp言語自体を作ったりしていた。 • 卒論で自然言語処理の未知語の検出をやろうとして、指導教官に無謀と言われ、別の研究に(笑) ➢ 一度、社会人になる ➢ 別の教授に誘われ、大学院に戻る(修士課程修了後、そのまま研究員としてしばらく残る) ・ インターネットの研究 ➢ 共同研究先だった、某メーカー研究所へ就職 ➢ 学会で知り合った先輩に誘われ、横河電機に(2001年1月1日から、21世紀は横河と共に) • 研究→開発→研究管理などを経て、2018年10月より現職 • 現在は、 AI、おもに自然言語処理の研究開発に従事 趣味:楽器演奏など
  6. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    そもそもの発端 7 自然言語処理を利用したプラント現場向け検索システムにより、 熟練者のナレッジをベースにした作業員のスキルに依存しない現場判断を可能とします。 プラント用語、略語、特殊な言い回しを含むプラン トのナレッジへのアクセスは、利用者のプラントに関す る理解を必要としており再利用が十分にされていま せん。本システムは、現場作業員が点検時に携行 するタブレット端末の操作中に透過的にナレッジに アクセスすることで、作業結果に応じた過去事例の 参照を実現します。 プラントに関する理解度によらず一様にプラ ントのナレッジへのアクセスが可能となり、職 場経験が浅い現場作業員の自律的な判 断を促進することができます。 スキル非依存の現場からの ナレッジDBアクセス手法 現場巡回点検支援システムとの連携 により、現場作業員は点検結果を入 力するだけで、予め定義された現場 作業内容の定義を組み合わせたナ レッジの検索クエリをシステムが自動的 に生成します。 お客様提供価値
  7. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    8 (疑似)意味検索とは (疑似)意味検索の説明 ◼ (疑似)意味検索は、単語ベクトル(分散表現、埋め込み表現)を使って、文書と文書 の類似度が高い物を検索することで実現します。 ◼ 文章の類似度は、文章を数値化し、その数値を比較します。いくつかの手法を試しました が今回はCOS類似度を使用しました。 ◼ 文章の数値化(単語ベクトルを作る方法)は、いくつかの手法を試した結果、単語埋め 込み表現であるWord2Vecと特徴量を表すTF-IDFを使いました。 ◼ Word2VecとTF−IDFをRanknetで教師あり学習することで、それぞれの得手不得手を吸 収し、ほどよい検索精度が出るようになりました。
  8. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    9 公開されている日本語単語ベクトルの例 無料で商用利用出来る日本語単語ベクトルの説明 単語ベクトル†として配布されている物 1. chiVe(ワークスアプリケーションズ社製) 2. BERT系(HaggingFaceなど) 3. 日本語Wikipedia系(Word2Vec, Fasttextなど) 今回は、Wikipediaと自前コーパスから自前で1から単語ベクトルを作った。 また、chiVeも参考として使用した。 (残念ながらchiVeに自前コーパスを追加学習することは出来なかったため) †単語ベクトルとは 単語を数百次元の実数値ベクトルとして表現したものであり,単語間の意味的な関係の 強さをそれぞれの単語に対応するベクトルの成す角のコサインやユークリッド距離などを用いて定量化することを目的として いる.単語の分布表現(Distributed Representation,Word Embedding)とも呼ばれ,単語に留まらず文 を表現させる研究も盛んに行われている。[出典] ワークスアプリケーションズ さんに、追加学習ができ るモデルを提供して貰え ました!
  9. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    10 単語ベクトルの作り方 1. コーパス(大規模な文章)をSudachiやMeCabを使って、形態素解析、分かち書き。 2. コーパス内で同じコンテキストを共有する単語ベクトルは、ベクトル空間内の近くに配置す るように学習(浅い二層のニューラルネット)。 今回はGensim(Pythonのライブラリ)を使ってWord2Vec(Skip-gramモデル)で 300次元ベクトル化 from gensim.models import Word2Vec from gensim.models.word2vec import LineSentence from gensim.models import KeyedVectors sentences = LineSentence(WAKATI_FILE) model = Word2Vec(sentences=sentences, vector_size=300, window=20, min_count=5, workers=20, sg=1) word_vectors = model.wv word_vectors.save_word2vec_format(KV_FILE, binary=True) mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd -o jawiki-wakati.txt jawiki.txt or sudachi --wakati --dict ~/.venv/lib/python3.8/site-packages/sudachidict_full/resources/system.dic -m A jawiki –o jawiki-wakati.txt jawiki.txt 抜粋
  10. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    12 実際に作ってみて 一種類の方式では精度が出ない ◼ 単独の手法(Word2Vecなど)では意味検索としては精度が出ない ↓ ◼ 複数の手法をミックスしてペアワイズ損失をranknetでランキング学習してみる ↓ ◼ 単語埋め込み表現であるWord2Vecと特徴量を表すTF-IDFの組合せで、そこそこの精度 ◼ 意味検索がうまくいった例: ◆ Q:「キュルキュル音がする」→A:「ファンベルトにゆるみ」を含んだ文書が出力された ◆ これは同義語辞書などを、どんなに整備しても検索出来ない!!
  11. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    試作した意味検索エンジンで形態素解析の評価実験 13 ◼ 比較方法 ◆ 指標:nDCG (normalized Discounted Cumulative Gain) ➢ アイテムをおすすめ順に並べた際の実際のスコアの合計値 ◼ コーパス: ◆ 日本語Wikipedia(以下Wiki) ◆ 横河電機のマニュアル、横河技報などの公開文書3795件 (以下Yコーパス) ◼ 検索対象:弊社工場での点検時レポート644件 ◼ 学習データ:質問文37件に対する、検索対象それぞれの点数 ◆ (◎=3点、◦=2点、△=1点、×=-3点) vs
  12. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    14 単語ベクトルの作り方 1. コーパス(大規模な文章)をSudachiやMeCabを使って、形態素解析、分かち書き。 2. コーパス内で同じコンテキストを共有する単語ベクトルは、ベクトル空間内の近くに配置す るように学習(浅い二層のニューラルネット)。 今回はGensim(Pythonのライブラリ)を使ってWord2Vec(Skip-gramモデル)で 300次元ベクトル化 from gensim.models import Word2Vec from gensim.models.word2vec import LineSentence from gensim.models import KeyedVectors sentences = LineSentence(WAKATI_FILE) model = Word2Vec(sentences=sentences, vector_size=300, window=20, min_count=5, workers=20, sg=1) word_vectors = model.wv word_vectors.save_word2vec_format(KV_FILE, binary=True) mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd -o jawiki-wakati.txt jawiki.txt or sudachi --wakati --dict ~/.venv/lib/python3.8/site-packages/sudachidict_full/resources/system.dic -m A jawiki –o jawiki-wakati.txt jawiki.txt 抜粋
  13. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    15 単語ベクトルの作り方 1. コーパス(大規模な文章)をSudachiやMeCabを使って、形態素解析、分かち書き。 2. コーパス内で同じコンテキストを共有する単語ベクトルは、ベクトル空間内の近くに配置す るように学習(浅い二層のニューラルネット)。 今回はGensim(Pythonのライブラリ)を使ってWord2Vec(Skip-gramモデル)で300 次元ベクトル化 from gensim.models import Word2Vec from gensim.models.word2vec import LineSentence from gensim.models import KeyedVectors sentences = LineSentence(WAKATI_FILE) model = Word2Vec(sentences=sentences, vector_size=300, window=20, min_count=5, workers=20, sg=1) word_vectors = model.wv word_vectors.save_word2vec_format(KV_FILE, binary=True) mecab -d /usr/lib/mecab/dic/mecab-ipadic-neologd -o jawiki-wakati.txt jawiki.txt or sudachi --wakati --dict ~/.venv/lib/python3.8/site-packages/sudachidict_full/resources/system.dic -m A jawiki –o jawiki-wakati.txt jawiki.txt 抜粋 日本語Wikipedia+YコーパスをSudachiで分かち書きした文章をGensimするのに、 (約1千万文、約6億語) 第10世代インテル® Core™ i9 10900K プロセッサー3.70 GHz 10コア20スレッド 全開で で、約10時間半!(Wikipediaだけだと6時間半程度 GensimはGPUを使えない….
  14. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    評価実験結果 形態素解析 MeCab MeCab Sudachi A Sudachi B Sudachi C chiVe コーパス WikiとYコー パス Wikiのみ nDCG 平均 0.591 検索速度 2秒弱 16 表 形態素解析別nDCGの平均 これの結果から、◦◦を使った場合が評価が高い。 ××が、……. 絶賛計算中 後日どこか(SudachiのSlack辺り?)で 御報告します。
  15. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    今後の予定 18 BERTやTransformer系もやってみたい ◼ Sudachipyの正規化機能を試したい ◼ 今は数値をほぼ無視しているのを改善したい ◆ 今は+100℃でもー100℃でも、ほぼ同じ扱い ◼ 結果の見せ方を考える(単にnDCGの高い順に表示するだけではなく) ◼ BERTやTransformer系、GT2, GT3、GT3クローンなども使ってみたい
  16. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    これでおわっては申し訳ないので、chiVeの再学習について(1) ◼ 皆さんご存じとは思いますが、ワークスアプリケーションズ社が公開して いる日本語単語ベクトル。 ◼ “chiVe” (チャイブ, Sudachi Vector) は、大規模コーパスと複数 粒度分割に基づく日本語単語ベクトル。 ◼ 学習には約1億のウェブページ文章を含む国立国語研究所の日本 語ウェブコーパス(NWJC)を使っている。 ◼ 人がメンテナスしている←ここが重要 ◼ でも、現在のchiVeは残念ながら再学習出来ない。 19
  17. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    これでおわっては申し訳ないので、chiVeの再学習について(1) ◼ 皆さんご存じとは思いますが、ワークスアプリケーションズ社が公開して いる日本語単語ベクトル。 ◼ “chiVe” (チャイブ, Sudachi Vector) は、大規模コーパスと複数 粒度分割に基づく日本語単語ベクトル。 ◆ チベではありません。チベットスナギツネでもありません。 ◼ 学習には約1億のウェブページ文章を含む国立国語研究所の日本 語ウェブコーパス(NWJC)を使っている。 ◼ 人がメンテナスしている←ここが重要 ◼ でも、現在のchiVeは残念ながら再学習出来ない。 19
  18. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    chiVeの再学習について(2) ◼ 今回、特別に(?)再学習出来る言語モデルをお借りしました。 20 from icecream import ic from gensim.models import KeyedVectors, Word2Vec from gensim.models.word2vec import LineSentence import logging logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) model = KeyedVectors.load("all.norm.min5.bin") ic(model.corpus_count) ic(model.wv['酢橘'][:10]) ic(model.wv.most_similar('横河', topn=10) ) ic(model.wv.most_similar('酢橘', topn=10) ) sentences = LineSentence('yokogawa-sudachiA.txt') model.build_vocab(sentences, update=True) model.train(sentences, total_examples=model.corpus_count, epochs=100, word_count=0) ic(model.corpus_count) ic(model.wv['酢橘'][:10]) ic(model.wv.most_similar('横河', topn=10) ) ic(model.wv.most_similar('酢橘', topn=10) ) model.wv.save_word2vec_format('gensim_w2v_model-100.bin',binary=True) ココが再学習の部分 再学習は初めてなので 間違いがあったら指摘してください
  19. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    chiVeの再学習について(3) ◼ 先ほどの計算環境でchiVeにYコーパス 約百万行、1,500万語 を追加 ◼ 10Epochで約6分! 21 ('横河', topn=10): [('横河電機', 0.7153161764144897), ('パイオニックス', 0.5750902891159058), ('大同特殊鋼', 0.5683308243751526), ('古河電工', 0.534030020236969), (‘神戸製鋼’, 0.5311375260353088), ('日立製作所', 0.5290708541870117), ('富士電機', 0.5280645489692688), ('神鋼', 0.5144648551940918), ('曙ブレーキ工業', 0.5136256217956543), ('東邦チタニウム', 0.5135630965232849)] ('酢橘', topn=10): [('臭橙', 0.7173675298690796), ('レモン', 0.6835445761680603), ('シークワーサー', 0.6607993245124817), ('青紫蘇', 0.6561844348907471), ('ポン酢', 0.6518506407737732), ('柚子', 0.643626868724823), ('柑橘', 0.6321057677268982), ('日向夏', 0.6260204315185547), ('蜜柑', 0.6254730224609375), ('大根下ろし', 0.6194115281105042)] 学習前 ('横河', topn=10): [('報', 0.8445025682449341), ('技', 0.8400911092758179), ('電機', 0.7764625549316406), ('vol.', 0.7587082386016846), ('Vol.', 0.7563737630844116), (‘1111111111111111111111111111111111111‘, 0.7134548425674438), ('vo', 0.7021391987800598), ('システム', 0.6947261095046997), ('9', 0.6943381428718567), (‘の’, 0.6822482943534851)] ('酢橘', topn=10): [('臭橙', 0.7173675298690796), ('レモン', 0.6835445761680603), ('シークワーサー', 0.6607993245124817), ('青紫蘇', 0.6561844348907471), ('ポン酢', 0.6518506407737732), ('柚子', 0.643626868724823), ('柑橘', 0.6321057677268982), ('日向夏', 0.6260204315185547), ('蜜柑', 0.6254730224609375), ('大根下ろし', 0.6194115281105042)] 学習後(前処理をしていないので酷い結果)
  20. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    chiVeの再学習について(3) ◼ 先ほどの計算環境でchiVeにYコーパス 約百万行、1,500万語 を追加 ◼ 10Epochで約6分! 21 ('横河', topn=10): [('横河電機', 0.7153161764144897), ('パイオニックス', 0.5750902891159058), ('大同特殊鋼', 0.5683308243751526), ('古河電工', 0.534030020236969), (‘神戸製鋼’, 0.5311375260353088), ('日立製作所', 0.5290708541870117), ('富士電機', 0.5280645489692688), ('神鋼', 0.5144648551940918), ('曙ブレーキ工業', 0.5136256217956543), ('東邦チタニウム', 0.5135630965232849)] ('酢橘', topn=10): [('臭橙', 0.7173675298690796), ('レモン', 0.6835445761680603), ('シークワーサー', 0.6607993245124817), ('青紫蘇', 0.6561844348907471), ('ポン酢', 0.6518506407737732), ('柚子', 0.643626868724823), ('柑橘', 0.6321057677268982), ('日向夏', 0.6260204315185547), ('蜜柑', 0.6254730224609375), ('大根下ろし', 0.6194115281105042)] 学習前 ('横河', topn=10): [('報', 0.8445025682449341), ('技', 0.8400911092758179), ('電機', 0.7764625549316406), ('vol.', 0.7587082386016846), ('Vol.', 0.7563737630844116), (‘1111111111111111111111111111111111111‘, 0.7134548425674438), ('vo', 0.7021391987800598), ('システム', 0.6947261095046997), ('9', 0.6943381428718567), (‘の’, 0.6822482943534851)] ('酢橘', topn=10): [('臭橙', 0.7173675298690796), ('レモン', 0.6835445761680603), ('シークワーサー', 0.6607993245124817), ('青紫蘇', 0.6561844348907471), ('ポン酢', 0.6518506407737732), ('柚子', 0.643626868724823), ('柑橘', 0.6321057677268982), ('日向夏', 0.6260204315185547), ('蜜柑', 0.6254730224609375), ('大根下ろし', 0.6194115281105042)] 学習後(前処理をしていないので酷い結果) 10分程度で特定ドメインの単語ベクトルが追加出来るなら凄い! ただ、全ベクトルを再計算しないといけないという論文があった気も。 (それに、前処理も大事)
  21. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    興味を持たれた方へ 22 一緒にやってみませんか? ◼ 質問 ◼ 情報交換 ◼ 協業・共同研究 ◼ 勉強会とかやってもいいかも ◼ リクルート(新卒、転職) ◼ [email protected] までお気軽にメールください
  22. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    参考資料 ◼ Sudachi • Sudachi • sudachi.rs • SudachiPy ◼ MeCab • MeCab • mecab-ipadic-Neologd ◼ 単語ベクトル、単語埋め込み表現 • Word2Vec論文(2013年) ◼ 特徴量 • TF-IDF論文(1972年) ◼ RankNet • 論文(2005年) ◼ TFIDFとWord2Vecの組み合わせ • 論文(2018年) 23 ◼ 公開されている日本語単語ベクトル例 • ChiVe • 日本語 Wikipedia エンティティベクトル • BERT with SentencePiece を日本語 Wikipedia で学習 してモデル ◼ Gensimのマニュアルページ • models.word2vec – Word2vec embeddings • models.keyedvectors – Store and query word vectors
  23. | SMM-BD19-INV-01X-XXX | November 26, 2021| © Yokogawa Electric Corporation

    The names of corporations, organizations, products and logos herein are either registered trademarks or trademarks of Yokogawa Electric Corporation and their respective holders. 24 本文中に使われている会社名,商品名,およびロゴ等は, 横河電機株式会社または各社の登録商標または商標です。