mocchaso note

サーバーエンジニアが何か色々呟いているところ。

2020-01-01から1年間の記事一覧

言語処理100本ノック 2020「39. Zipfの法則」

Zipfの法則とは...? ja.wikipedia.org 平たく言うと、「出現頻度が多ければ、全体での割合が大きい」ということらしい。 言語処理100本ノック-39(pandas使用):Zipfの法則 - Qiita

言語処理100本ノック 2020「36. 頻度上位10語」

※棒グラフの描き方 matplotlib で棒グラフを描く – Python でデータサイエンス Matplotlibで日本語を表示 設定していないと、↓のように出力されて、豆腐化文字化けする。 /home/mocchaso/anaconda3/envs/develop/lib/python3.7/site-packages/matplotlib/bac…

言語処理100本ノック 2020「30. 形態素解析結果の読み込み」

空文字に対してsplitを適用するとどうなる? 配列に空文字列が1つ入る。 >>> "".split(",") [''] ※分割パターンを指定しないと、何故か空のリストになる。 >>> "".split() [] ※分割パターンが空文字だとエラーに。 >>> "abc".split("") Traceback (most rece…

WSLにMeCab + NEologdをインストール / Anaconda3上のPythonで使えるように

約2年越しに、↓の回避策です。 MeCabの新語辞書NEologdをインストールできない... - mocchaso note Windowsでも、WSL (Ubuntu)を使えば、MeCab + NEologdまでインストールできます。 qiita.com ModuleNotFoundError が出る $ pip install mecab-python3==0.9…

言語処理100本ノック 2020「28. MediaWikiマークアップの除去」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) 27本目に続き、↓をベースに実装しました。 qiita.com ファイルの除去に関しては、上記サイトとは異なり、内部リンクマークアップの除去とは別パターンでマッチさせました。 (内部…

言語処理100本ノック 2020「27. 内部リンクの除去」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) 上記まとめにも記載した解説記事より、マッチングパターンを流用しました。 qiita.com \[\[(?:[^|]*?\|)??([^|]*?)\]\] このマッチングパターンの仕組みは、素人の言語処理100本ノ…

言語処理100本ノック 2020「24. ファイル参照の抽出」

正規表現の最短一致を使います。 → 量指定子, ?を組み合わせる www-creators.com

言語処理100本ノック 2020「22. カテゴリ名の抽出」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) 「括弧でパターンの一部を抽出」できればOKです。 下記サイトの、正規表現パターンの活用例 → 括弧でパターンの一部を抽出 note.nkmk.me

言語処理100本ノック 2020「19. 各行の1コラム目の文字列の出現頻度を求め,出現頻度の高い順に並べる」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) cut -f 1 popular-names.txt | sort | uniq -c | sort -r -k 1 -t ' ' sort -r -kのkオプションで、1, 3, 1000等数字をどれにしても出力結果が変わらないのは何故? → ※考え&調査中

言語処理100本ノック 2020「18. 各行を3コラム目の数値の降順にソート」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) sortのtオプションでタブ区切りを指定する時は、先頭に$マークを付ければOKです。 qiita.com ただ、Ubuntuだとこの書き方は出来ないみたいです...。 単に-t \tと指定してみたらうま…

言語処理100本ノック 2020「12. 1列目をcol1.txtに,2列目をcol2.txtに保存」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) 区切り文字をタブにしたい時は、何も指定しなくてOK → cutのデフォルト区切り文字はタブ takuya-1st.hatenablog.jp

WSLにAnaconda, JupyterLabをインストール

言語処理100本ノック 2020を進めていたら、Windows上にAnaconda環境を作ったため、第2章でUNIXコマンドを使えずに詰みました。 経験も兼ねてWSLにAnaconda, JupyterLabをインストールし直した時のメモ書きです。 (記載のURLを参考にしたら無事にインストー…

言語処理100本ノック 2020「09. Typoglycemia」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) random.shuffle(list(<文字列の部分スライス>)) だと、シャッフル前と後で中身が変わらなかったのは何故? ※考え&調査中

言語処理100本ノック 2020「08. 暗号文」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) 文字コードへの変換 ord(): 文字 → 文字コード chr(): 文字コード → 文字

言語処理100本ノック 2020「06. 集合」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) 集合の使い方を↓で確かめながら、実装できました。 note.nkmk.me

言語処理100本ノック 2020「05. n-gram」

(まとめ: 言語処理100本ノック 2020年版を解いていく。 - mocchaso note) n-gramの大体の考え方・実装方法は、↓を見てある程度分かりました。 qiita.com なぜrange(len(sequence) - n + 1)ではないとダメなのか? ※考え&調査中

言語処理100本ノック 2020年版を解いていく。

(かなり久々の更新...!) Python, NLPの勉強を目的に、言語処理100本ノック 2020年版をやってみようと思います。 やっていて分からない / 疑問に思った点を調べた結果 / その問題で特に集中して使った知識等を、主にメモしていきます。 ※特に詰まることな…