astamuse Lab

astamuse Labとは、アスタミューゼのエンジニアとデザイナーのブログです。アスタミューゼの事業・サービスを支えている知識と舞台裏の今を発信しています。

Apache UIMA ちょっと触ってみる

こんにちは、データ周りを担当してる朴です。

本日はJavaで自然言語処理をする為のオープンソースであるApache UIMA(ういま?)をちょっと触ってみたいと思います。

Apache UIMAはIBMが誇る人工知能システムであるWatsonの内部解析エンジンの一部のコード?をオープンソースとして公開してたのがベースとなっています。 現在はOASISという国際的な非営利目的の組織の開発部隊が仕様策定など主導して開発されてるようです。

公式サイトはこちらになります。

Apache UIMA - Apache UIMA

Apache UIMA概要

Apache UIMA(Unstructured Information Management Architectureの略)は名の通り非構造化情報(テキスト、動画、音声など)を解析するして有用な情報を抽出する為のソフトウェアです。 例えばある文章を読み込んでに出てる人名、地名、組織などユーザーにとって有用な情報を抽出し、それらの情報間の関係性を取得することが出来ます。

Apache UIMAプロジェクト中には自然言語処理をするための実行エンジン、解析ツールだけではなく、それらを定義するためのスクリプト言語(UIMA Ruta)、スケーラブルに処理する為のフレームワーク(UIMA-AS,UIMA-DUCC)が含まれてるため、大規模の非構造化テキスト解析処理に向いてます。

f:id:astamuse:20161101144324p:plain

Apache UIMAを使って並列分散処理をする時はHadoopよりDUCCを使ったほうがメリットがあるみたいですね。 詳細は→こちら

ホームページのリリース履歴をみると開発はまあまあ活発に進められてる様子です。
2016/10/28 現在のUIMA SDK 最新バージョンは 2.9.0

それでは、とりあえず触ってみましょう!

Apache UIMA SDKインストール

以下のリンクから最新のSDKをダウンロードする。

Apache UIMA - Downloads

※以下Windows環境を前提に書いてあります。

ダウンロードしたuimaj-2.9.0-bin.zipファイルを指定のディレクトリ(今回はC:\apache-uima)に解凍する。

続いて環境変数に以下を追加

  • UIMA_HOME
    • C:\apache-uima

これでSDKの設定は完了です!

サンプルを動かしてみる

先ほど解凍したSDKのフォルダの配下にexamplesがあるので、それを動かしてみたいと思います。
サンプルを動かす前に上で設定した環境変数を反映させないとうまく立ち上がらないので、反映させる必要があります、反映するにはUIMA_HOME\bin\adjustExamplePaths.batを実行します。

これで最新の環境変数が通ったので同じフォルダ内のdocumentAnalyzer.batを実行すると以下の画面が表示されます。
下記のとおりそれぞれ対応するパスを設定する。

  • Input Director
    • C:\apache-uima\examples\data
  • Input File Format
    • text
  • Character Encoding
    • UTF-8
  • Output Directory
    • C:\apache-uima\bin\examples\data\processed
  • Location of Analysis Engine XML Descriptor
    • C:\apache-uima\examples\descriptors\analysis_engine\UIMA_Analysis_Example.xml
  • Language
    • en

f:id:astamuse:20161028144151p:plain

そしてDocument AnalyzerのRunボタンを押すと以下のように解析結果画面が出るのでその中からApache_UIMA.txt.xmi をダブルクリックして開いてみるとちゃんとAnnotation typeがEmailの部分がハイライトされてることが分かります↓ f:id:astamuse:20161028150600p:plain


Document AnalyzerのInteractiveボタンを押すとテキスト入力画面が出てこちらに解析したい文章を入力することでinteractiveに解析することも可能です。

UIMA Annotatorを書いてみよう

UIMA Annotatorとは?
UIMA framework上実行可能な非構造化情報を解析する為のコンポーネントの一つで、UIMA Analysis Engineは複数のAnnotatorで構成されてます。

Eclipseに必要なプラグインを入れる、詳細は下記参照

Setting up the Eclipse IDE to work with UIMA

どんなAnnotatorを書くのか

公式サンプルのRoomNumberAnnotatorを真似して、以下のような日本語の文章から人名と駅名を取得するAnnotatorを作ってみたいと思います。

例えば「今日は高橋さんと一緒に田中様に会いにJR飯田橋駅まで行きます。」の中で高橋さん、田中様という人の名前とJR飯田橋駅を取得することが出来るAnnotatorを作りたいと思います。

Eclipseプロジェクトを作成

  • File -> New -> Java Project -> TestAnnotatorという名前でプロジェクトを作成する。

  • 上記で作成したプロジェクトを右クリックし、出たメニューから"Add UIMA Nature"を選択する。

  • 再度プロジェクトを右クリックし、出たメニューからBuild Path -> Configure Build Path順に選択する。

  • Librariesタブ -> “Add Variable…” -> “UIMA_HOME"を選択 -> "Extend…"ボタン -> lib配下のuima-core.jarを選択してOK

※以下の図のように設定すればOK f:id:astamuse:20161028165028p:plain

Annotatorを定義する。

  • 上の手順を一通り実行するとプロジェクトのフォルダ構成は以下のようになります。

f:id:astamuse:20161031142940p:plain

  • AnnotatorのDescriptorファイルを定義する
    descフォルダで右クリック -> New -> other -> UIMA配下のAnalysis Engine Descriptor Fileを選択 -> File NameにTestAnnotatorDescriptor.xmlを入力してFinish

  • xml編集画面のOverviewのName of the Java class fileに「org.apache.uima.tutorial.ex1.TestAnnotator」と入力して、Ctrl+sで保存する、この時ClassNotFoundExceptionのエラーが出るが気にせずOK押す。

  • Descriptorファイルに今回取りたいエンティティのTypeを追加する

    • TestAnnotatorDescriptor.xmlをOpen With でComponent Descriptor Editorで開く
    • 人名Type
      • 開いた画面から"TypeSystem"タブを選択→"Add Type"ボタン→Type Nameには"org.apache.uima.tutorial.Name"を設定、Supertypeはデフォルトのまま"uima.tcas.Annotation"にしてOKを押す。
    • 駅名Type
      • 開いた画面から"TypeSystem"タブを選択→"Add Type"ボタン→Type Nameには"org.apache.uima.tutorial.Station"を設定、Supertypeはデフォルトのまま"uima.tcas.Annotation"にしてOKを押す。

f:id:astamuse:20161031143955p:plain

  • 必要なクラスのスケルトンを生成する

上の画面のJCasGenボタンを押すとorg.apache.uima.tutorialパッケージの下に以下の4つのクラスが出来ます。
f:id:astamuse:20161031144436p:plain

  • Annotatorクラスを作る
    org.apache.uima.tutorial.ex1パッケージの下にTestAnnotatorというクラスを作る、Super Classはorg.apache.uima.analysis_component.JCasAnnotator_ImplBaseを設定する。

f:id:astamuse:20161031144827p:plain

ソースは以下

package org.apache.uima.tutorial.ex1;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
import org.apache.uima.jcas.JCas;
import org.apache.uima.tutorial.Name;
import org.apache.uima.tutorial.Station;

public class TestAnnotator extends JCasAnnotator_ImplBase {

    // 名前漢字二文字+さん or 様の正規表現
    private Pattern namePattern = Pattern.compile("\\p{InCJKUnifiedIdeographs}{2,}(様|さん)");

    // 駅名の正規表現
    private Pattern stationPattern = Pattern.compile("(JR|地下鉄)[\\p{InCJKUnifiedIdeographs}\\p{InHiragana}]+駅");

    @Override
    public void process(JCas input) throws AnalysisEngineProcessException {
        String docText = input.getDocumentText();

        // 人名の検索
        Matcher matcher = namePattern.matcher(docText);
        int pos = 0;
        while (matcher.find(pos)) {
            Name annotation = new Name(input);
            annotation.setBegin(matcher.start());
            annotation.setEnd(matcher.end());
            annotation.addToIndexes();
            pos = matcher.end();
        }

        // 駅名の検索
        matcher = stationPattern.matcher(docText);
        pos = 0;
        while (matcher.find(pos)) {
            Station annotation = new Station(input);
            annotation.setBegin(matcher.start());
            annotation.setEnd(matcher.end());
            annotation.addToIndexes();
            pos = matcher.end();
        }
    }

}

作ったAnnotatorをテストする

上で作ったプロジェクトを右クリックし、Run As -> Run Configurations -> Java Applicationの中で UIMA CAS Visual Debuggerを選択してClasspathタブを選択→ User Entriesを選択→Add Projects→TestAnnotatorを選択してOK -> Runボタンで実行

※環境によっては以下のエラーが出るので、必要に応じてClasspathのUser EntriesでAdd External JARsから「uima-core.jar,uima-tools.jar」を追加する

「エラー: メイン・クラスorg.apache.uima.tools.cvd.CVDが見つからなかったかロードできませんでした」

CAS Visual DebuggerのGUI画面のRunメニューからLoad AEからTestAnnotatorDescriptor.xmlを選択
以下の文章をTextにコピペして、RunメニューからRun TestAnnotatorDescriptorを実行する。

今日は高橋さんと一緒に田中様に会いにJR飯田橋駅まで行きます。

結果は以下のような感じで名前と駅名がちゃんと取れてますね
f:id:astamuse:20161031154802p:plain

作ったAnnotatorをパッケージングする。

上記で作ったAnnotatorを再利用可能なPEAR(Processing Engine ARchive)形式のファイルにパッケージングします。
TestAnnotatorプロジェクトを右クリック→Generate PEAR fileを選択→Component Descriptorにdescフォルダを設定→ Next → Next → To pear fileに場所とファイル名(TestAnnotator.pear)を入れてFinish→pearファイルが出来上がり

pearファイルのインストールと実行

上記で作ったpearファイルをインストールしてEclipseなしで実行します。
UIMA_HOME/bin/runPearInstaller.batを実行して、下記とおりPEAR Fileと Installation Directoryを設定します。

f:id:astamuse:20161031160148p:plain

Installボタンを押すとInstallが完了した旨のメッセージが出ます。
続いてRun your AE in the CAS Visual DebuggerをクリックするとCAS Visual DebuggerにインストールしたAnntatorがロードされます。
Textエリアに先ほどの文章をコピペして、RunメニューからRun TestAnnotatorDescriptorを実行すると結果が確認できます。

最後に

今回はApache UIMAの簡単の紹介と簡単なAnnotatorを作ってみました。
基本的に公式サイトのドキュメントを参考しながらやってみましたが、特に困ることなくうまく出来ました。
Apache UIMA Rutaとかでもっと面白い解析が出来そうなので、時間があればそちらも触ってみたいところです。
公式ホームページの例とドキュメント類が結構豊富なので、触ってみたい人はぜひ色々触ってみてください。
ではまた次回~

もう待てない、Spark2.0の導入と実践

こんにちは、福田です。

すっかり秋らしくなり、過ごしやすくなりました。皆様いかがお過ごしでしょうか。

前回は、コンパクトで高速な大規模キーワード辞書の実装について書きました。

今回は、先月末(9/29)にリリースされたCDH向けのSpark2.0 β版のセットアップです。

最先端の開発環境を手にすべく、立ち上がります。

Spark2.0の魅力

  • Whole stage code generationによるSQL、DataFrameライブラリの大幅なパフォーマンス向上(2-10倍)
  • ML(機械学習)ライブラリの改善・充実(RDDベースからDataFrameベースに)
  • DataSet APIの導入によるさらなる型安全性

その他、SQL2003 準拠の関数サポート、ネイティブでのCSVサポートなど、嬉しいアップデートが目白押しです。

※詳しくはリリースノート参照

Spark Release 2.0.0 | Apache Spark

胸が高鳴ります。

ClouderaのSpark2.0 βリリース、3つのポイント

  • Cloudera Managerのアドオンサービスとなっており、マネージドサービスとして利用できる
  • 現行バージョン(1.6.0)と平行して運用できる
  • 導入の手順がシンプルで簡単

セットアップ開始

Apache Spark 2.0 Beta Now Available for CDH - Cloudera Engineering Blog

こちらのリリースブログの記事を参考にインストールします。

f:id:astamuse:20161021175646p:plain

それでは、見ていきましょう。

Spark Beta 2.0 CSDのインストール

Spark 2.0 Beta CSDファイルをダウンロードします。

$ wget http://archive.cloudera.com/beta/spark2/csd/SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar
--2016-10-07 11:29:01--  http://archive.cloudera.com/beta/spark2/csd/SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar
Resolving archive.cloudera.com (archive.cloudera.com)... 151.101.72.167
Connecting to archive.cloudera.com (archive.cloudera.com)|151.101.72.167|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15309 (15K) [application/java-archive]
Saving to: ‘SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar’

100%[================================================================================>] 15,309      --.-K/s   in 0s       

2016-10-07 11:29:02 (366 MB/s) - ‘SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar’ saved [15309/15309]


ダウンロードしたCSDファイルをCloudera Manager Serverを稼働させているホストの/opt/cloudera/csdディレクトリに置きます。

# mv SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar /opt/cloudera/csd/


同ファイルの所有権をcloudera-scm:cloudera-scmに、パーミッションを644にそれぞれ変更します。

# chown cloudera-scm:cloudera-scm /opt/cloudera/csd/SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar  
# chmod 644 /opt/cloudera/csd/SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar  
# ls -alh /opt/cloudera/csd/SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar  
-rw-r--r-- 1 cloudera-scm cloudera-scm 15K Sep 22 09:52 /opt/cloudera/csd/SPARK2_ON_YARN-2.0.0.cloudera.beta1.jar


Cloudera Manager Serverを再起動します。

# service cloudera-scm-server restart
Stopping cloudera-scm-server:  * cloudera-scm-server stopped
/etc/init.d/cloudera-scm-server: line 292: [[: [error] JVM PermGen is set less than 256m, CM server may run out of PermGen
space. Update CMF_JAVA_OPTS in /etc/default/cloudera-scm-server to fix this.: syntax error: operand expected (error token
is "[error] JVM PermGen is set less than 256m, CM server may run out of PermGen space. Update CMF_JAVA_OPTS in /etc/defau
lt/cloudera-scm-server to fix this.")
/etc/init.d/cloudera-scm-server: line 292: [[: [error] JVM MaxHeap is set less than 2G, CM server may run out of Heap spac
e. Update CMF_JAVA_OPTS in /etc/default/cloudera-scm-server to fix this.: syntax error: operand expected (error token is "
[error] JVM MaxHeap is set less than 2G, CM server may run out of Heap space. Update CMF_JAVA_OPTS in /etc/default/clouder
a-scm-server to fix this.")                                                                                                
Starting cloudera-scm-server:   



以降、Cloudera Manager管理コンソール(Web UI)での操作になります。

Cloudera Manager管理コンソールにログインします

Cloudera Management Serviceの再起動

Cloudera Management Serviceの設定ファイルの変更内容を確認し、再起動を行います。

設定の変更箇所 f:id:astamuse:20161019174453p:plain
Cloudera Management Serviceの再起動を完了させます。


パッケージのダウンロード、配布と有効化

parcelのリストにSpark2が現れることを確認し、ダウンロード、配備、有効化を行います。

Downloadをクリックしてダウンロード f:id:astamuse:20161021182654p:plain

Distributeをクリックしてファイルを配備 f:id:astamuse:20161019181013p:plain

Activateをクリックして有効化 f:id:astamuse:20161021182646p:plain

有効化完了。

はやる気持ちを抑えきれず、spark2-submitでジョブを投入、とここで思わぬエラーが。

Exception in thread "main" java.lang.Exception: When running with master 'yarn' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment.
        at org.apache.spark.deploy.SparkSubmitArguments.validateSubmitArguments(SparkSubmitArguments.scala:256)
        at org.apache.spark.deploy.SparkSubmitArguments.validateArguments(SparkSubmitArguments.scala:233)
        at org.apache.spark.deploy.SparkSubmitArguments.<init>(SparkSubmitArguments.scala:110)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:117)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)


イYARN。

spark2のconfig一式がありません。どこでボタンを掛け違えたのか…



ちょ、ちょっとMatei!!

クラスタへのSpark2のサービスの追加を忘れていました。

After deploying the parcel, create a “spark2 service” from the Cluster dropdown.


Spark2サービスの追加

気を取り直して、クラスタへSpark2サービス追加を行います。

クラスタメニューのAdd Service(サービスの追加)から、ウィザードを起動 f:id:astamuse:20161019182554p:plain

Spark2を選択後、Continueをクリック。

引き続き、HistoryServerとGatewayロールを割り当てるhostを選択し、
ウィザードに従いサービスの追加を完了させます。

※既存のSparkとは別に、Spark2のロールを割り当てる必要があります。

f:id:astamuse:20161021183016p:plain

おめでとうございます!Spark2がサービスとしてクラスタに追加されました。

仕上げに、クライアント設定の再配備を行い、クラスタの再起動を行います。

これで、準備は整いました。

2つの新コマンド

Spark2.0 βを使うには、spark-shell, spark-submitコマンドの代わりに、

spark2-shell, spark2-submitを使います。

$ spark2-shell --master yarn
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel).
16/10/07 11:59:07 WARN spark.SparkContext: Use an existing SparkContext, some configuration may not take effect.
Spark context Web UI available at http://192.168.10.100:4040
Spark context available as 'sc' (master = yarn, app id = application_1475811551793_0010).
Spark session available as 'spark'.
Welcome to
     ____              __
    / __/__  ___ _____/ /__
   _\ \/ _ \/ _ `/ __/  '_/
  /___/ .__/\_,_/_/ /_/\_\   version 2.0.0.cloudera.beta1
     /_/
         
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101)
Type in expressions to have them evaluated.
Type :help for more information.

scala>

なんということでしょう。憧れのSpark 2.0が手の中に。

正式版リリースまでに準備をしていきましょう。

念のため、1.6.0の方も確認します。

$ spark-shell --master yarn
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel).
Welcome to
     ____              __
    / __/__  ___ _____/ /__
   _\ \/ _ \/ _ `/ __/  '_/
  /___/ .__/\_,_/_/ /_/\_\   version 1.6.0
     /_/

Using Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101)
Type in expressions to have them evaluated.
Type :help for more information.
Spark context available as sc (master = yarn-client, app id = application_1475808153174_0002).
SQL context available as sqlContext.

scala>  

あとは、既存のジョブをScala-2.11、Spark-2.0向けにビルドし直してspark2-submitするだけです。

いくつか挙動が異なる部分や、互換性の問題も発生するかもしれません。

その場合はドキュメントを参照し、根気よく対応します。

Spark 2、そして開発へ

今日から、Spark 2.0があなたのパートナーです。

洗練されたパフォーマンスと新しいAPIを駆使して生産性・開発効率を上げていきましょう。

特許の「牽制」情報から、自社技術を活かした新たなテーマを探す方法

はじめまして、さかいです。このたび、第2回ゲストとして、namikawaさん、波多野さんからご指名いただきました。このお二人からのご指名とあっては断るわけにはいきませんので、ありがたく、機会を頂戴いたしました。

私は、アスタミューゼ株式会社のテクノロジーインテリジェンス部というところで、未来を創る市場・技術のコンセプト作りや、顧客向けに自社データベースを活用した技術情報の調査・分析業務などを行っています。

アスタミューゼでは、astamuse.comで誰でも無料で見られる特許情報をはじめ、大学・公的研究機関で行われている研究の情報(研究グラント)、クラウドファンディングのプロジェクト情報、ベンチャー企業情報など、知的活動に関する世界最大級のデータベースを保有しています。

これらのデータを活用し、企業様や大学・公的機関様向けに、新規事業・イノベーション創出を支援するサービスもご提供しています。

自分たちの技術を新たな分野で展開したい

さて、日々のお客様とのコミュニケーションの中で、特に研究開発を活発になさっている企業様からは、「自社に技術はあるけど、もともと想定していた事業以外にも、新たな分野での用途展開を検討したい」というお話を頂くことが多いです。この気持ち、私自身が元・材料の研究者だったこともあり、とてもよくわかります。

このような課題に対して少しでも解決の糸口を見つけていただくためのサービスとして、今回、弊社がご提供しているサービスの一つである、「自社技術を活かした新規テーマ探索」について、簡単にご紹介したいと思います。

実際に「自社技術を活かした新規テーマ探索」をやるために私たちがよく利用する情報として、「特許の牽制(引用)」情報があります。自分たちの技術・特許が、他の後発技術の特許の審査過程で拒絶理由として引用されたケースを抽出し、その引用元の他社技術の内容をもとに、自社技術の新しい展開先のヒントを得よう、というものです。

特許の審査?引用?

・・・で、何のことだかわからない方にはさっぱりわからないと思いますので、特許の仕組みまで辿りつつ、もう少し噛み砕いてみます。

まず、新しい技術の発明をして、それを特許として権利化したければ、特許庁に特許出願をした上で、その出願の審査請求をします。出願した技術が特許として認められるためには、

  • 新規性(特許法第29条第1項:新しいかどうか)
  • 進歩性(特許法第29条第2項:容易に考え出すことはできないか)

が必要です。審査ではこれらの用件を満たすかどうかがチェックされるわけですが、多くの場合は、既に公表された技術などが存在する、先行技術から容易に想像できる、などの理由で「拒絶」され(拒絶理由通知)、差し戻されます。

その後は、めげずに何度か修正(権利範囲を狭めたり)を加えることで無事に特許権が認められるものもあれば、修正してもダメであれば「拒絶」が確定する場合もあります。(特許制度について詳しく知りたい方は、例えばこちらをご覧ください)

審査の結果、拒絶理由が通知される場合は、その根拠となる先行技術の文献が引用されますが、この「拒絶引用」情報が、新たなテーマ探索のための手がかりとなりうるのです。

新たなテーマの手がかりに

次のようなケースを考えてみましょう。ある他社の特許が審査過程で拒絶理由を通知されました。そこで引用された技術の中に、自社が過去に出願し、公開された技術があったとします。

このとき、自社の技術が他社の後発技術の権利化を阻害したことになります。これを私たちは「牽制」と呼んでいます。 たいていの場合は、牽制した先の技術は、牽制元の技術と同じ分野です(例えば、自社の太陽電池の技術が他社の太陽電池の後発技術を牽制)。そりゃそうですよね。

ところが、ごくまれに、自社技術が、自社が想定していたのとは全く異なる分野の技術を牽制している、というケースが存在します。

これはつまり、この他社は、ウチの技術と同じような技術を使いながら、他社は、全く別の分野でそれを活用しようとしていることになります。 ここがまさに注目するポイントです。

これって、平たくいえば、ウチの技術の、今まで思ってもみなかった使い道になりうるわけで、つまり、自社技術の新しい展開先を考える上でのひとつのきっかけとなるのです。

具体的にはどういうこと?

具体的にはどういうことなのか、やや極端ですし、いろいろツッコミどころはあるかと思いますが、下の絵を見ながら例をお示ししましょう。

自分が勤める大手自動車部品メーカーが、ガス浄化機器のためのフィルター技術を開発し、特許を取りました。

あるとき、飲料メーカーや生活用品メーカーが、社内で開発したフィルター技術について特許を出願したのですが、自社が開発した類似のフィルターの技術が既にあることを理由に、拒絶されてしまいました。

このような関係、つまり、自社の技術がどこに引用されているか、どのような他社技術を牽制しているか、を調べていくことで、自動車のガス浄化用に自社で開発したフィルターは、お茶飲料といった、自動車とは全く異なる想定外の分野でも活用できるのではないか、ということに気づくことができるというわけです。

ただ、通常は自社の技術が引用に使われたことは特許庁から特に通知されることはないので、自社技術が審査で引用されたかどうかは、ときどき自分から見に行かなければいけないというのが難点ではあります。

f:id:astamuse:20161019104846p:plain

まとめ

当然、自社が手掛けていない異分野では、要求されるスペックが全然違ったり、追加で研究開発が必要であったり、新しい分野の土地勘がなくて参入しづらかったり、会社の方針としてその分野をやることはない、など、アイデアを実現する上ではいろいろと困難なことはあることでしょう。

ただ、ずっと社内で仕事をしているだけではなかなかおもしろいアイデアが出てこない、アイデアを出そうと思ってもどうしても自分の研究テーマに引っ張られてしまう、というお悩みをお持ちの方は、まずはアイデアを発散させるためのきっかけ作りとして、取り組んでみるのはいかがでしょうか。

Copyright © astamuse company, ltd. all rights reserved.