自然言語処理100本ノック2020から逃げるな まとめ

これは自然言語処理100本ノック2020に挑んだとある人間の物語。

1章

00. 文字列の逆順
01.「パタトクカシーー」
02. 「パトカー」+「タクシー」=「パタトクカシーー」
03. 円周率
04. 元素記号
05. n-gram
06. 集合
07. テンプレートによる文生成
08. 暗号文
09. Typoglycemia

2章

10. 行数のカウント
11. タブをスペースに置換
12. 1列目をcol1.txtに,2列目をcol2.txtに保存
13. col1.txtとcol2.txtをマージ
14. 先頭からN行を出力
15. 末尾のN行を出力
16. ファイルをN分割する
17. 1列目の文字列の異なり
18. 各行を3コラム目の数値の降順にソート
19. 各行の1コラム目の文字列の出現頻度を求め,出現頻度の高い順に並べる

3章

20. JSONデータの読み込み
21. カテゴリ名を含む行を抽出
22. カテゴリ名の抽出
23. セクション構造
24. ファイル参照の抽出
25. テンプレートの抽出
26. 強調マークアップの除去
27. 内部リンクの除去
28. MediaWikiマークアップの除去
29. 国旗画像のURLを取得する

4章

30. 形態素解析結果の読み込み
31. 動詞
32. 動詞の原形
33. 「AのB」
34. 名詞の連接
35. 単語の出現頻度
36. 頻度上位10語
37. 「猫」と共起頻度の高い上位10語
38. ヒストグラム
39. Zipfの法則

実行環境

OS: Windows10のWSL (Ubuntu 18.04.4 LTS)
シェル: fish
Pythonバージョン: 3.7.7
Pythonはpipenvを使用。

ソースコードはこちら

github.com