#author("2023-08-04T17:04:07+09:00","default:ogiwiki","ogiwiki")
[[日本語テキスト処理基礎講座2023]]

*コマンドラインの基礎 [#rdaab3bd]

**準備 [#uec4830c]
-Ubuntu (Linux)をWindows(WSL)上で動かす
--WSLとは: [[Windows Subsystem for Linux>https://learn.microsoft.com/ja-jp/windows/wsl/about]]
--Ubuntu: https://jp.ubuntu.com/

***WSLとUbuntuのインストール [#ucd40159]
-[[WSL を使用して Windows に Linux をインストールする>https://learn.microsoft.com/ja-jp/windows/wsl/install]]
 wsl --install

***Macでは [#b467ca17]
-[[Homebrew>https://brew.sh/index_ja]]をインストールしておく
 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"


***起動 [#wf3fed74]
-スタートメニューからUbuntuを起動
--Macの人は代わりにターミナルを起動

**最低限知っておきたいコマンド [#l2d4c3a9]

***はじめに [#qb199492]
-コマンドの使い方を確認するには
--コマンド --helpで使い方
--man コマンドでマニュアル

-便利な機能
--TAB補完
--ヒストリ(↑↓)

***サンプルテキストのダウンロード [#n7bb0c44]

-wget :webからファイルをダウンロードするツール
--インストール
 sudo apt install wget
--インストール(Mac)
 brew install wget

-[[日本国憲法 JPConstitution.txt(UTF8)>https://www.dropbox.com/scl/fi/ahwe6wd78u3rusqy6j4yl/JPConstitution.txt?rlkey=cwnsj0vtj7e6nnl5je40qmd0m&dl=1]] ※下のコマンドをターミナルにコピペしてダウンロード
 wget "https://www.dropbox.com/scl/fi/ahwe6wd78u3rusqy6j4yl/JPConstitution.txt?rlkey=cwnsj0vtj7e6nnl5je40qmd0m&dl=1" -O JPConstitution.txt

-[[こころ kokoro.txt(Shift_JIS)>https://www.dropbox.com/s/r89ahi6goxy5a2c/kokoro.txt&dl=1]]
 wget "https://www.dropbox.com/s/r89ahi6goxy5a2c/kokoro.txt&dl=1" -O kokoro.txt

***ファイル操作関連のコマンド [#hba42de3]
-pwd :今いるディレクトリ(フォルダ)
-ls :ファイルリストの表示
-cd :今いるディレクトリから移動
-mkdir :ディレクトリの作成
-mv :ファイルの移動・リネーム
-cp :ファイルのコピー
-rm :ファイルの削除

-unzip :zipファイルの展開(解凍)

***テキスト処理関連のコマンド [#c0600481]
-echo
-less
--head
--tail
-wc
-cut :列の取り出し
-sort :並べ替え
-uniq :重複の削除・集計
-grep :検索
-sed :置換

-nkf :文字コード変換
--インストール
 sudo apt install nkf
--インストール(Mac)
 brew install nkf

***ファイルの確認 [#b257835b]
-中身を表示
 less JPConstitution.txt

-文字コードの変換
 nkf -S -w8 kokoro.txt |less
 nkf -S -w8 --overwrite kokoro.txt

-行数や文字数を表示
 wc JPConstitution.txt

 wc -c JPConstitution.txt


***テキストエディタ [#af7d367b]
-vi :昔からのエディタで癖が強い
-nano :割と普通(だけどショートカットキーが)

-code :VSCodeで開く

***標準入出力とパイプ [#qfb28871]

-> :ファイルなどに処理結果を出力
->> :追加出力
-< :ファイルなどから入力
-| :出力を次のコマンドにつなぐ

***WSL関連(Windows) [#h66c337b]
-Explorerでwslと打つと、今いるフォルダをカレントディレクトリにしてUbuntuのターミナルが開く
-Explorerなどで\\wsl$と打つとUbuntuのファイル(ルート)が開ける

-UbuntuのターミナルからWindowsのコマンドが呼べる

**MeCabとUniDic [#cba3f0e9]
-MeCabのインストール
 sudo apt install mecab

--Mac
 brew install mecab

-UniDicのダウンロード
--[[現代書き言葉UniDic>https://clrd.ninjal.ac.jp/]]

 wget https://clrd.ninjal.ac.jp/unidic_archive/2302/unidic-cwj-202302.zip
 unzip unidic-cwj-202302.zip -d unidic-cwj

--[[旧仮名口語UniDic>https://clrd.ninjal.ac.jp/unidic_archive/2203/UniDic-202203_60b_qkana.zip]]

 wget https://clrd.ninjal.ac.jp/unidic_archive/2203/UniDic-202203_60b_qkana.zip
 unzip UniDic-202203_60b_qkana.zip
 mv 60b_qkana unidic-qkana
 cp unidic-cwj/dicrc unidic-qkana/

-動作確認
 mecab -v

 echo "ゼレンスキー大統領" | mecab -d unidic-cwj
 echo "井ノ上たきな" | mecab -d unidic-cwj

 echo "政府の行為によつて再び戦争の惨禍が起ることのないやうにする" | mecab -d unidic-cwj
 echo "政府の行為によつて再び戦争の惨禍が起ることのないやうにする" | mecab -d unidic-qkana

 mecab -d unidic-cwj JPConstitution.txt | less

***短単位解析 [#v8785a83]

 mecab -d unidic-cwj -Ochamame JPConstitution.txt > JPConstitution_morph.txt

 mecab -d unidic-qkana -Ochamame JPConstitution.txt > JPConstitution_morph2.txt

-d 辞書を置いたディレクトリの指定
-O 出力フォーマットの指定(dicrcに書式指定あり)
-- -Ochamame :以前の茶まめの出力形式
-- -Ounidic :以前のUniDicの出力形式
--指定しないと全部の列が出力される

-できているか確認
 less JPConstitution_morph.txt

***解析結果の処理 [#hbf30625]

-接続詞だけ
 grep 接続詞 JPConstitution_morph.txt

-固有名詞だけ(旧仮名UniDicでないと解析エラー多)
 grep 固有名詞 JPConstitution_morph.txt
 grep 固有名詞 JPConstitution_morph2.txt


-検索して集計
 grep 接続詞 JPConstitution_morph.txt |sort |uniq -c
 grep $'\t副詞' JPConstitution_morph.txt |sort |uniq -c

-発音形出現形だけ
 cut -f 10 JPConstitution_morph.txt



**参考 [#z4efe01c]
-[[言語処理100本ノック>https://nlp100.github.io/ja/]]
-[[とほほのUnix/Linux入門>https://www.tohoho-web.com/wwwunix.htm]]
-[[とほほのBash入門>https://www.tohoho-web.com/ex/shell.html]]

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS