HOME | Raspberry Pi | ビジネス書籍紹介 | 2024-03-29 (Fri) Today's Access : 399 Total : 881883. Since 10 Sep. 2019

形態素解析 TreeTagger
2021.07.24


YouTube でも紹介しています。画像をクリックすると再生できます。

TreeTaggerは、英文を単語とその品詞に分解してくれる形態素解析ツールです。 英語以外にもフランス語やスペイン語、ドイツ語などにも対応しています。
今回は、ANC(American National Corpus)単語頻度準拠・英和辞典から、30000語の英単語を切り出して、 これにTree Tagger を用いて、品詞情報を付加してみます。
また応用として、品詞情報をもとに英文の文型を特定、単語の原形から英和辞典を用いて日本語を付加する自作WEBアプリを紹介します。

■動作環境

ラズベリーパイにはモニター、キーボードを取り付けていないので、ノートパソコンからSSHで接続しています。

■ANC単語頻度準拠・英和辞典/ANC Frequency Dictionary

「the public for FREE」とあるので無料で使用できるようですが、その適用範囲は不明です。

辞書をダウンロードします。
http://www.jamsystem.com/ancdic/index.html → ANC30000_1014_Dic.zip


辞書を解凍して、エクセルファイル(ANC30000_1014_Dic.xls)を開きます。
Excel表のシート名:Japanese+ を選択します。
A列のLemma(見出し語)とD列のJapanese(Short)の2列を残して、他の列を削除します。
なお、このExcelシートには、品詞の情報はありません。
タブ区切りのcsvファイル(anc30000.csv)として書き出します。

■Tree Tagger


https://www.cis.lmu.de/~schmid/tools/TreeTagger/
TreeTaggerは、英文を単語とその品詞に分解してくれる形態素解析ツールです。 英語以外にもフランス語やスペイン語、ドイツ語などにも対応しています。

TreeTagger License
1. You can freely use the TreeTagger software for evaluation, research and teaching purposes. Any other usage of the system (in particular for commercial purposes) requires a commercial license.
TreeTaggerは、評価、調査、教育を目的として自由に使用できます。 その他の使用法、特に商用目的の場合は、商用ライセンスが必要です。
2. You are not allowed to distribute the TreeTagger software to other persons without written permission.
TreeTaggerを許可なしに再配布することはできません。



TreeTaggerのインストール

1.ページを下にスクロールして、ARMHFを選択してダウンロードします。

2.同じディレクトリにtagging scriptsをダウンロードします。

3.インストールスクリプト install-tagger.shをダウンロードします。

4.さらにページを下にスクロールして、処理したい言語のparameter filesをダウンロードします。

 例えば、英語関連の場合、2つのタグセットが存在します。
・English parameter file (PENN tagset)
・English parameter file (BNC tagset)
ざっと見たところ、解析結果として表示される品詞タグが異なっています。
ここでは、PENN tagset を選んでいます。
さらに、ドイツ語、フランス語のパラメタ・ファイルもダウンロードしました。
・German parameter file
・French parameter file

5.インストールスクリプトを実行します。
$ sh install-tagger.sh
TreeTagger version for ARM Linux 32 bit installed.
Tagging scripts installed.
German parameter file installed.
English parameter file installed.
French parameter file installed.
Path variables modified in tagging scripts.

You might want to add /home/pi/TreeTagger/cmd and /home/pi/TreeTagger/bin to the PATH variable so that you do not need to specify the full path to run the tagging scripts.

後継の品詞解析ツールにRNNTaggerがありますが、PyTorchが必要であることと、処理速度を向上させるためにGPUが必要になります。

6.環境変数にパスを追加します。
$ vi .bashrc
export PATH="$PATH:/home/pi/TreeTagger/cmd"
export PATH="$PATH:/home/pi/TreeTagger/bin"
$ source .bashrc

7.テスト
$ echo 'Hello world!' | tree-tagger-english
        reading parameters ...
        tagging ...
         finished.
Hello   UH      hello
world   NN      world
!       SENT    !

単語ごとに「表層形」「品詞」「原型」が出力されます。

品詞タグ タグの説明
CC 等位接続詞 and, but, or
CD 基数 1, three
DT 限定詞 the
EX 存在文のthere There is
FW 外国語 d'œuvre
IN 前置詞または従位接続詞 in, of, like, after, whether
IN/that 補文素 that
JJ 形容詞 green
JJR 形容詞の比較級 greener
JJS 形容詞の最上級 greenest
LS リスト項目のマーカー (1)
MD 法助動詞 could, will
NN 名詞の単数形または不可算名詞 table
NNS 名詞の複数形 tables
NP 固有名詞の単数名 John
NPS 固有名詞の複数形 Vikings
PDT 前限定詞 both the boys
POS 所有格語尾 friend's
PP 人称代名詞 I, he, it
PP$ 所有代名詞 my, his
RB 副詞 however, usually, here, not
RBR 副詞の比較級 better
RBS 副詞の最上級 best
RP 不変化詞(句動詞を構成する前置詞) give up
SENT 文末の句読点記号 ?, !, .
SYM 記号 @, +, *, ^, =
TO to to go, to him
UH 間投詞 uhhuhhuhh
VB be動詞の原形 be
VBD be動詞の過去形 was, were
VBG be動詞の動名詞または現在分詞 being
VBN be動詞の過去分詞 been
VBZ be動詞の三人称単数形現在 is
VBP be動詞の三人称単数形以外の現在 am, are
VD do動詞の原形 do
VDD do動詞の過去形 did
VDG do動詞の動名詞または現在分詞 doing
VDN do動詞の過去分詞 done
VDZ do動詞の三人称単数形現在 does
VDP do動詞の三人称単数形以外の現在 do
VH have動詞の原形 have
VHD have動詞の過去形 had
VHG have動詞の動名詞または現在分詞 having
VHN have動詞の過去分詞 had
VHZ have動詞の三人称単数形現在 has
VHP have動詞の三人称単数形以外の現在 have
VV 動詞の原形 take
VVD 動詞の過去形 took
VVG 動詞の動名詞または現在分詞 taking
VVN 動詞の過去分詞 taken
VVP 動詞の三人称単数形現在 take
VVZ 動詞の三人称単数形以外の現在 takes
WDT Wh限定詞 which
WP Wh代名詞 who, what
WP$ 所有関係代名詞 whose
WRB Wh副詞 where, when
: 一般結合記号 ;, -, --
$ 通貨記号 $, £

■Pythonの実行環境整備

Python用ラッパーをインストールします。
$ pip3 install treetaggerwrapper
Installing collected packages: treetaggerwrapper Successfully installed treetaggerwrapper-2.3

Pythonサンプルコードの編集
$ vi example.py
import warnings
warnings.simplefilter('ignore', FutureWarning)

import treetaggerwrapper as ttw

text = 'I have a pen.'
tags_tabseparated = ttw.TreeTagger(TAGLANG='en').tag_text(text)
tags_tuple = ttw.make_tags(tags_tabseparated)  
for tag in tags_tuple:
    print("{0}\t{1}\t{2}".format(tag[0], tag[1], tag[2]))
$ python3 example.py
I       PP      I
have    VHP     have
a       DT      a
pen     NN      pen
.       SENT    .
※import treetaggerwrapper で FutureWarning を吐くので抑止しています。

■ANC単語頻度準拠_英和辞典に品詞情報を追加する

$ vi add_pos.py
import warnings
warnings.simplefilter('ignore', FutureWarning)

import treetaggerwrapper as ttw

out = open("anc3000plus.csv","wt")
tgr = ttw.TreeTagger(TAGLANG='en')
with open('anc30000.csv', 'r', encoding='UTF-8') as file:
 for line in file.read().splitlines():
  words = line.split('\t')
  tags_tabseparated = tgr.tag_text(words[0])
  tags_tuple = ttw.make_tags(tags_tabseparated)  
  for tag in tags_tuple:
   print("{0}\t{1}\t{2}\t{3}".format(tag[0], tag[1], words[1],tag[2]))
   text = words[0] + '\t'+ tag[1] + '\t' + words[1] + '\t' + tag[2] + '\n'
   out.write(text)
out.close()
【テストデータ(anc30000.csvから一部抜粋)】
abreast[TAB]横に並んで[LF]
abridge[TAB]削減する[LF]
abroad[TAB]海外で[LF]
abrogate[TAB]廃止する[LF]
xxxxxxx[TAB]意味不明[LF]

データの最終行に存在しない単語を追加しておきました。

$ python3 add_pos.py
abreast JJ      横に並んで      abreast
abridge VV      削減する        abridge
abroad  RB      海外で  abroad
abrogate        VV      廃止する        abrogate
xxxxxxx NN      意味不明        xxxxxxx
意味不明な単語は、名詞単数形(NN)に振り分けられていました。

最初に作成した、ANC単語頻度準拠_英和辞典のcsvファイルを実際に処理しましょう。 あっという間に、30000語の英単語に品詞情報が追加されます。

■PHPでの実行環境構築

WEB環境と相性の良いPHPで使えるようにします。

◇Composer のセットアップ

PHP のパッケージ管理ツール Composer をインストールします。

1.セットアップ用PHPスクリプト(composer-setup.php)のダウンロード
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ ls -l
-rw-r--r-- 1 pi pi 58460 7月 20 12:28 composer-setup.php

2.Composer の実行ファイル(phar)の作成
composer-setup.php を実行して、Composer の実行ファイル(phar)を作成します。
$ php --version
PHP 7.3.19-1~deb10u1 (cli) (built: Jul 5 2020 06:46:45) ( NTS )
$ php composer-setup.php
Composer (version 2.1.3) successfully installed to: /home/pi/composer.phar

3.セットアップ用PHPスクリプトの削除
$ php -r "unlink('composer-setup.php');"
$ ls -l
-rwxr-xr-x 1 pi pi 2253070 7月 20 12:30 composer.phar

4.動作確認
/usr/local/bin フォルダに composer.phar を移動させて、どこからでも使えるようにします。
$ sudo mv composer.phar /usr/local/bin/composer
$ composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.1.3 2021-06-09 16:31:20
Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version (以下略)

◇php-lemmatizer のインストール

php-lemmatizer は、TreeTaggerライブラリーのPHPラッパーです。
composer を用いて、php-lemmatizer をインストールします。

$ composer require mbeurel/php-lemmatizer
Using version ^0.1.2 for mbeurel/php-lemmatizer
./composer.json has been created
Running composer update mbeurel/php-lemmatizer
Loading composer repositories with package information
Updating dependencies
Lock file operations: 2 installs, 0 updates, 0 removals
 - Locking mbeurel/php-lemmatizer (0.1.2)
 - Locking symfony/process (v4.4.26)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
 - Downloading symfony/process (v4.4.26)
 - Downloading mbeurel/php-lemmatizer (0.1.2)
 - Installing symfony/process (v4.4.26): Extracting archive
 - Installing mbeurel/php-lemmatizer (0.1.2): Extracting archive
Generating autoload files
1 package you are using is looking for funding.
Use the `composer fund` command to find out more!

$ ls -l
-rw-r--r--  1 pi pi       70  7月 20 12:40 composer.json
-rw-r--r--  1 pi pi     4784  7月 20 12:40 composer.lock
drwxr-xr-x  5 pi pi     4096  7月 20 12:40 vendor
$ ls -l vendor
-rw-r--r-- 1 pi pi 178 7月 20 12:40 autoload.php
drwxr-xr-x 2 pi pi 4096 7月 20 12:40 composer
drwxr-xr-x 3 pi pi 4096 7月 20 12:40 mbeurel
drwxr-xr-x 3 pi pi 4096 7月 20 12:40 symfony

TreeTagger.php のバグ修正
php-lemmatizer のライブラリーにあるTreeTagger.phpにはバグがあるので修正します。
$ vi /home/pi/vendor/mbeurel/php-lemmatizer/lib/TreeTagger.php 289-291行
$source =array_key_exists(0, $elementsArray) ? $elementsArray[0] : null;
$type =array_key_exists(1, $elementsArray) ? $elementsArray[0] : null;
$dest =array_key_exists(2, $elementsArray) ? $elementsArray[0] : null;
 ↓修正
$source =array_key_exists(0, $elementsArray) ? $elementsArray[0] : null;
$type =array_key_exists(1, $elementsArray) ? $elementsArray[1] : null;
$dest =array_key_exists(2, $elementsArray) ? $elementsArray[2] : null;

サンプルコーディングexample.php
github から php-lemmatizerのサンプルコードをダウンロードして、簡素化します。

$ vi example.php
<?php
include "vendor/autoload.php";
use PhpTreeTagger\TreeTagger;

try {
  $treeTagger = new TreeTagger("english", array(
      "treeTaggerPath"   => "/home/pi/TreeTagger", // Path to TreeTagger Library
      "debug"            => false,           // View Debug
      "wordUnique"       => false,           // Keep only one occurrence of the word
      "wordRemoveAccent" => true,            // Remove all accent in word
      "nbProcess"        => 6
    )
  );

  // Remove type in words
  $treeTagger->setCleanTypeWords(
    array("PRO:PER","DET:ART","DET:POS","SENT","PRP")
  );

  // Lemmatizer String or Array parameters, to array => ["La lemmatisation designe un traitement lexical", "apporte a un texte en vue de son analyse"]
  $result = $treeTagger->lemmatizer("I have a pen.");

  // View result :
  var_dump($result);
} catch(\Exception $e) {
  echo $e;
}
?>

実行してみます。
$ php example.php
array(1) {
  [0]=>array(2) {
       ["value"]=>string(12) "I have a pen"
       ["detail"]=>array(4) {
         [0]=>array(3) {
               ["source"]=>string(1) "I"
               ["type"]=>string(2) "PP"
               ["dest"]=>string(1) "I"
         }
         [1]=>array(3) {
               ["source"]=>string(4) "have"
               ["type"]=>string(3) "VHP"
               ["dest"]=>string(4) "have"
         }
         [2]=>array(3) {
               ["source"]=>string(1) "a"
               ["type"]=>string(2) "DT"
               ["dest"]=>string(1) "a"
         }
         [3]=>array(3) {
               ["source"]=>string(3) "pen"
               ["type"]=>string(2) "NN"
               ["dest"]=>string(3) "pen"
         }
       }
  }
}

■WEB環境での利用

WEB環境では、英文をフォームから入力して、プログラムに引き渡す処理が加わります。 また、WEBサーバの設定を変更したくなかったので、TreeTaggerのパスを絶対パスに変更しています。
プログラムをWEBサーバのドキュメントルートに配置して編集します。
$ vi example.php
<?php
  $statement = 'I have a pen.'; // ←実際にはフォームから取得
  include "/home/pi/vendor/autoload.php";
  use PhpTreeTagger\TreeTagger;

  try {
    $treeTagger = new TreeTagger("english", array(
      "treeTaggerPath"   =>  "/home/pi/TreeTagger",
      "debug"            =>  false,
      "wordUnique"       =>  false,
      "wordRemoveAccent" =>  true, 
      "nbProcess"        =>  6
      )
    );

    $treeTagger->setCleanTypeWords(
      array(
        "PRO:PER",
        "DET:ART",
        "DET:POS",
        "SENT",
        "PRP"
      )
    );

    $result = $treeTagger->lemmatizer($statement);
    $source = array();
    $type   = array();
    $dest   = array();
    foreach ($result[0]["detail"] as $key=>$value) {
      $source[$key] = $value["source"];
      $type[$key]   = $value["type"];
      $dest[$key]   = $value["dest"];
      echo $source[$key].' '.$type[$key].' '.$dest[$key]."
\n"; } } catch(\Exception $e) { echo $e; } ?>
http://192.168.11.2/example.php にアクセスしてみます。

Exception: The file "tree-tagger" not exist in /home/pi/TreeTagger/bin/tree-tagger in /home/pi/vendor/mbeurel/php-lemmatizer/lib/TreeTagger.php:127

tree-taggerが存在しないという例外が発生しました。
tree-taggerの配置されているディレクトリーを確認してみます。

$ ls -l ~/TreeTagger
drwxr-x--- 2 pi pi 4096 7月 21 20:52 bin
drwxr-x--- 2 pi pi 4096 7月 17 11:54 cmd
drwxr-x--- 2 pi pi 4096 7月 17 11:53 lib

Apache WEBサーバーに、bin/tree-tagger へのアクセス権限を付与します。
$ chmod 755 bin cmd lib

$ ls -l ~/TreeTagger/lib/english*
-rw-r----- 1 pi pi 1857 8月 4 2014 /home/pi/TreeTagger/lib/english-abbreviations
-rw-r--r-- 1 pi pi 14339739 7月 17 11:53 /home/pi/TreeTagger/lib/english.par

同様に、english-abbreviations にアクセスできるように、権限を付与します。
$ chmod a+r ~/TreeTagger/lib/english-abbreviations

これで品詞情報と原型を取得できるようになりました。
I PP I
have VHP have
a DT a
pen NN pen


■オリジナルWEBアプリの制作

WEB環境が整いましたので、ここからはオリジナルのアプリケーションを作ってみましょう。 フォームから英文を入力して、TreeTaggerで品詞決定、 独自の解析プログラムで、品詞の並びから文型を判定するアプリを作ってみました。
I have a pen.
↓品詞決定
Ihaveapen.
人称代名詞動詞限定詞名詞
↓文型解析
Ihavea pen.

最初に抽出したANC英和辞典は、英単語と日本語をセットとしてデータベース化しています。


英文を入力して、構文解析ボタンを押します。


品詞の並びから文型を判断しています。 過去形のboughtは、TreeTaggerにより原型のbuyを取得して、データベースに登録した辞書から、英単語に該当する日本語を抽出して表示しています。 複雑な形態素解析ではないので、解析ボタンを押して2秒も掛からずに結果が表示されました。
なお、普通にわかる代名詞などは意味表示を省いています。

■参考文献
英単語1万語以上の最強csvファイルを作る方法
TreeTaggerの環境構築からPythonで動かすまで
形態素解析ツールTreeTaggerの品詞コードの意味・日本語訳一覧表(完全版)
Tree Tagger Tag Set (58 tags)
TreeTagger Python Wrapper’s documentation!
Windows+Python 3 環境における TreeTagger のセットアップ手順
Composer を CentOS にインストールする手順
php-lemmatizer
PHPのオートロード(autoload)
PHP開発でComposerを使わないなんてありえない!基礎編
英語の基本5文型を徹底おさらい!
 Raspberry Pi(ラズベリー パイ)は、ARMプロセッサを搭載したシングルボードコンピュータ。イギリスのラズベリーパイ財団によって開発されている。
2020.04.24 Twitter-LINE連携によるビジネス活用
2021.02.27 TweLite Neural Network 第1回環境設定
2021.07.24 形態素解析 TreeTagger
2023.09.01 XMLParser
2023.09.16 RSSフィード読上げ Emic2
2023.11.01 Internet Radio
2023.11.16 Internet Radio - Preset


Arduinoで学ぶ組込みシステム入門(第2版)
●Arduinoを使って組込みシステム開発を理解する
・ハードウェアやソフトウェアなどの基礎知識/ ・設計から実装までを系統的に説明するモデルベース開発/ ・Arduinoを用いた実際の開発例

最新 使える! MATLAB 第3版
◆◆すぐに「使える!」 全ページフルカラー!◆◆
・MATLAB R2022bに対応し、解説もより詳しく!/ ・コマンド・スクリプトの例が豊富で、動かして学べる!/ ・超基本から解説。これから使いはじめる人にぴったり!/ ・全編フルカラー、スクリーンショットも豊富!

Amazon Web Services基礎からのネットワーク&サーバー構築改訂4版
1.システム構築をインフラから始めるには/ 2.ネットワークを構築する/ 3.サーバーを構築する/ 4.Webサーバーソフトをインストールする/ 5.HTTPの動きを確認する/ 6.プライベートサブネットを構築する/ 7.NATを構築する/ 8.DBを用いたブログシステムの構築/ 9.TCP/IPによる通信の仕組みを理解する

C言語は第二の母国語: 独学学生時代から企業内IT職人時代に培った、独立のための技術とノウハウ 平田豊著
学生時代から独学でプログラミングをはじめ、企業内でデバイスドライバを開発し、そして独立後もたくさんのアプリケーション開発や技術書制作に携わってきた著者。その筆者が大事に使い続ける「C言語」の“昔と今”について、気づいたことや役立つ知識、使ってきたツールなどについて、これまで記してきたことを整理してまとめました。 本書では、現役プログラマーだけでなく、これからプログラミングを学ぶ学生などにも有益な情報やノウハウを、筆者の経験を元に紹介しています。

1冊ですべて身につくJavaScript入門講座
・最初の一歩が踏み出せる! 初心者に寄り添うやさしい解説 ・最新の技術が身につく! 今のJavaScriptの書き方・使い方 ・絶対に知っておきたい! アニメーションとイベントの知識 ・プログラミングの基本から実装方法まですべて学べる

図解! Git & GitHubのツボとコツがゼッタイにわかる本
ソフトウェア開発では欠かすことのできないGit、GitHub。 これからGit、GitHubを使いたいという入門者の方でも、実際に手を動かしながら使い方を学べます。

C自作の鉄則!2023 (日経BPパソコンベストムック)
メーカー製のパソコンはスペックが中途半端で、自分が本当に欲しい機種がない――。そう思っている人には、ぜひ自作パソコンをお薦めします。自作パソコンのパーツは進化が速く、しかも驚くほど種類が豊富。価格も性能も、幅広く用意されているため、満足度100%の“自分だけの1台”を手に入れることができます。

Interface 2023年6月号
特集:第1部 フィルタ設計 基礎の基礎/ 第2部 係数アプリや波形観測アプリで合点!FIR&IIRフィルタ作り/ 第3部 配布プリント基板で体験!マイコンで動くフィルタ作り

日経Linux 2023年5月号
【特集 1】 AI時代の最強フリーソフト ~ 25のやりたいを実現! 【特集 2】 AWS、Azureのうまみを無料で体感!面倒なことはクラウドに任せよう 【特集 3】 新しいRaspberry Pi Cameraで遊んでみよう 【特集 4】 Linuxで旧型PCを復活! 1kg切るモバイルPCを「ChromeOS Flex」でChromebook化

ラズパイマガジン2022年秋号
特集:5大人気ボード 電子工作超入門
「半導体不足で在庫が不足し、電子工作のボードがなかなか買えない…」。そんな今にふさわしい特集を企画しました。5種の人気ボードにすべて対応した電子工作の入門特集です。「GPIO」や「I2C」を使った電子パーツの制御方法は、どのボードでも同じです。手に入れられたボードを使って、今こそ電子工作を始めましょう。

地方で稼ぐ! ITエンジニアのすすめ
学歴、理系の知識、専門スキル……全部なくてもITエンジニアになれる! 地方でも高収入でやりがいをもって働ける!ITエンジニアの魅力を一挙大公開

Raspberry Piのはじめ方2022
本書は、ラズパイやPicoの買い方やインストール、初期設定といった基本から、サーバー、電子工作、IoT、AIといったラズパイならではの活用方法まで、1冊でお届けします。 ラズパイをこれから始める方向けに、全36ページの入門マンガ「女子高生とラズベリーパイ」も巻末に掲載。これを読むだけでラズパイがどんなものなのか、すぐに分かって触れるようになります。

ハッカーの学校 IoTハッキングの教科書
生活にとけこみ、家電機器を便利にするIoT技術。 Webカメラなど、便利の裏側に潜むセキュリティの危険性をハッキングで検証。 専門家がパケットキャプチャからハードウェアハッキングまで、その攻撃と防御を徹底解説。 本書は2018年7月に刊行された「ハッカーの学校IoTハッキングの教科書」に一部修正を加えた第2版です。

攻撃手法を学んで防御せよ! 押さえておくべきIoTハッキング
本書は、経済産業省から2021年4月にリリースされた、IoTセキュリティを対象とした『機器のサイバーセキュリティ確保のためのセキュリティ検証の手引き』の『別冊2 機器メーカに向けた脅威分析及びセキュリティ検証の解説書』をもとに、IoT機器の開発者や品質保証の担当者が、攻撃者の視点に立ってセキュリティ検証を実践するための手法を、事例とともに詳細に解説しました。

ポチらせる文章術
販売サイト・ネット広告・メルマガ・ブログ・ホームページ・SNS… 全WEB媒体で効果バツグン! カリスマコピーライターが教える「見てもらう」「買ってもらう」「共感してもらう」すべてに効くネット文章術

プログラマーは世界をどう見ているのか 西村博之著
イーロン・マスク(テスラ)、ジェフ・べゾス(Amazon)、ラリー・ペイジ(Google)…etc. 世界のトップはなぜプログラマーなのか?

ニーア オートマタ PLAY ARTS改 <ヨルハ 二号 B型 DX版> PVC製 塗装済み可動フィギュア
「NieR:Automata」より、ヨルハ二号B型こと2BがPLAY ARTS改に新たに登場! 高級感の感じられるコスチュームや髪の質感、洗練されたボディバランス、細かなデティールに至るまでこだわり抜かれた逸品。 DX版には通常版のラインナップに加え2Bの随行支援ユニット ポッド042などをはじめ“純白の美しい太刀"白の約定やエフェクトパーツ、自爆モードを再現できる換装用ボディパーツ、シーンに合わせて変えられる顔パーツ2種も付属する豪華な仕様に。 作中のあらゆるシーンを再現することが可能なファン必見の一品となっている。

Newtonライト2.0 ベイズ統計
ベイズ統計は,結果から原因を推定する統計学です。AIや医療などの幅広い分野で応用されています。その基礎となるのは18世紀に考えだされた「ベイズの定理」です。 この本では,ベイズ統計学のきほんをやさしく紹介していきます。

白光(HAKKO) ダイヤル式温度制御はんだ吸取器 ハンディタイプ FR301-81


無水エタノールP 500mlx2個パック(掃除)


ケイバ(KEIBA) マイクロニッパー MN-A04


サンハヤト SAD-101 ニューブレッドボード


白光(HAKKO) HEXSOL 巻はんだ 精密プリント基板用 150g FS402-02


[Amazon限定ブランド]【指定第2類医薬品】PHARMA CHOICE 解熱鎮痛薬 解熱鎮痛錠IP 100錠


Copyright © 2011-2024 Sarako Tsukiyono All rights reserved®.