0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

古文で学ぶPython

Posted at

【学習・実装構成】

1. ファイル管理

project_root/
 ├── texts/        # 古文・漢文原文(例:徒然草・論語)
 ├── analysis/     # 形態素解析・構文解析結果(JSON/CSV)
 ├── graphs/       # 構造図・係り受けグラフ
 ├── notebooks/    # Python実験ノート
 └── markdowns/    # Markdown形式の整形記事・教材

2. 形態素解析・構文解析(古典文/漢文)

!pip install fugashi spacy ginza unidic-lite
import spacy
nlp = spacy.load("ja_ginza")

text = "春はあけぼの。やうやう白くなりゆく山ぎは。"
doc = nlp(text)

for token in doc:
    print(token.text, token.lemma_, token.pos_, token.dep_, token.head.text)

出力:語彙・基本形・品詞・依存関係・係り先を自動抽出。


3. グラフ化・構造図化

import networkx as nx
import matplotlib.pyplot as plt

edges = [(tok.head.text, tok.text) for tok in doc if tok.head.text != tok.text]
G = nx.DiGraph(edges)
nx.draw(G, with_labels=True, node_size=2000, font_size=10)
plt.show()

→ 係り受け・主述構造を可視化(古文の「ぞ・なむ・や・か」結びを確認可能)。


4. Markdown整形例

## 徒然草 第1段 構文解析
> 春はあけぼの。やうやう白くなりゆく山ぎは。

|語|品詞|係り受け|主語|述語|
|--|--|--|--|--|
|春|名詞|主題|―|―|
|あけぼの|名詞|述語補語|春|あけぼのなり|
|白く|形容詞|修飾|―|―|
|なりゆく|動詞|述語|―|―|
|山ぎは|名詞|場所|―|―|

5. Python × 自然言語処理(古典×AI)

  • 頻度解析:語彙・助詞・係助詞の出現回数
  • 構文統計:主語省略率・述語の品詞比率
  • 意味ベクトル:古文語と現代語の語義距離(Word2Vec)
  • スタイル分類:作者・時代別の文体クラスタリング
  • 漢文構造変換:訓読文→原文構造対応表生成(SVO逆転構文の処理)

6. 応用(工学・教育・研究)

分野 活用例
教育 古典構文をAIで可視化・添削
工学 構文木データを自然言語処理モデルの訓練素材に利用
人文学 作者推定・時代分類の数理的検証
出版 自動注釈・語彙補足付きeテキスト生成

古文における「自立語」と「付属語」の識別と文節の見分け方

この教材は、古文における**自立語(じりつご)付属語(ふぞくご)**を区別し、
文節を正しく区切るための基礎を示している。


【1】自立語(じりつご)

  • 単独で意味を持つ語。
  • 文節の先頭に位置する。

例文解析

昔(名詞)/男(名詞)/すみ(動詞)/けり(助動詞)

→ 「昔」「男」「すみ」 が自立語に該当する。
**「けり」**は意味を補助する助動詞なので付属語。


【2】付属語(ふぞくご)

  • 単独では意味をもたない。
  • 必ず自立語の下に位置する。

「に」「けり」などが付属語。
これらは自立語に接続して初めて意味を成す。


【3】文節の見分け方のコツ

「自立語を見つけて、その自立語の直前で切る」

例:文節区切り

昔/男/片田舎/に/すみ/けり

自立語の直前で切ることで、文の構造が明確になる。


【4】Python+自然言語処理による再現方法

形態素解析ツール(例:MeCab, spaCy, GiNZA)を用いて
語を「自立語(内容語)」と「付属語(機能語)」に分類し、
文節単位に再構成できる。

サンプルコード

!pip install fugashi spacy ginza unidic-lite
import spacy

nlp = spacy.load("ja_ginza")

text = "昔男片田舎にすみけり"
doc = nlp(text)

for token in doc:
    print(token.text, token.pos_, token.dep_, token.head.text)

出力例

品詞 分類
名詞 自立語
名詞 自立語
片田舎 名詞 自立語
助詞 付属語
すみ 動詞 自立語
けり 助動詞 付属語

【5】応用:文節区切りアルゴリズムの考え方

  1. 形態素解析で語を列挙
  2. 各語の品詞を取得
  3. 名詞・動詞・形容詞・副詞などを「自立語」と判定
  4. 助詞・助動詞・接続助詞を「付属語」として下位に接続
  5. 自立語の直前で区切る

単語の分類体系(古文・現代共通)

【1】単語の大分類

単語はまず、

  • 自立語
  • 付属語
    の二つに分かれる。

【2】付属語

自立して意味をもたず、常に自立語に付く。

活用の有無 品詞
活用がある 助動詞
活用がない 助詞

【3】自立語

単独で意味を持つ。さらに「活用の有無」で分かれる。

(1) 活用がないもの

品詞 説明
名詞 物や事柄を表す
副詞 用言を修飾する
連体詞 体言を修飾する
接続詞 文をつなぐ
感動詞 感情を表す

(2) 活用があるもの

→ 用言(ようげん)と呼ばれる。

品詞 説明
動詞 動作・存在を表す
形容詞 性質・状態を表す
形容動詞 名詞的性質+「なり・たり」などの語尾をもつ

【4】まとめ表

区分 活用 品詞例 自立性
自立語 あり 動詞・形容詞・形容動詞 単独で意味を持つ
自立語 なし 名詞・副詞・連体詞・接続詞・感動詞 単独で意味を持つ
付属語 あり 助動詞 単独では意味をもたない
付属語 なし 助詞 単独では意味をもたない

【5】Pythonでの応用(例)

形態素解析により、この分類を自動タグ付けできる。

!pip install fugashi unidic-lite
from fugashi import Tagger

tagger = Tagger()
text = "昔男ありけり"
for word in tagger(text):
    print(word.surface, word.feature)

出力例:

昔, 名詞, 自立語
男, 名詞, 自立語
あり, 動詞, 自立語(用言)
けり, 助動詞, 付属語

この体系を理解すれば、古文の構文解析やPythonによる自動文節区切りアルゴリズムの設計が容易になる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?