import termextract.nlpir
import termextract.core
from pprint import pprint # このサンプルでの処理結果の整形表示のため
f = open("chi_sample_s.txt", "r", encoding="utf-8")
text = f.read()
f.close
print(text)
人工智能(英语:Artificial Intelligence, AI)亦稱機器智能,是指由人工製造出來的系統所表現出來的智能。通常人工智能是指通過普通電腦實現的智能。該詞同時也指研究這樣的智能系統是否能夠實現,以及如何實現的科學領域。 一般教材中的定义领域是“智能主体(intelligent agent)的研究与设计”[1],智能主体是指一个可以观察周遭环境并作出行动以达致目标的系统。[2]约翰·麦卡锡于1955年的定义是[3]「制造智能机器的科学与工程。」[4] 人工智能的研究是高度技术性和专业的,各分支领域都是深入且各不相通的,因而涉及範圍極廣。[5] 人工智能的研究可以分为几个技术问题。其分支领域主要集中在解决具体问题,其中之一是,如何使用各种不同的工具完成特定的应用程序。AI的核心问题包括推理、知识、规划、学习、交流、感知、移动和操作物体的能力等。[6]強人工智能目前仍然是该领域的长远目标。[7]目前比较流行的方法包括统计方法,计算智能和传统意义的AI。目前有大量的工具应用了人工智能,其中包括搜索和数学优化、逻辑推演。而基於仿生學、認知心理學,以及基于概率论和经济学的演算法等等也在逐步探索當中。
事前にpynlpir (Pythonパッケージ)のインストールが必要
import pynlpir
pynlpir.open()
text = text.replace('\n',' ') # 改行は削除しておく
tagged_text = pynlpir.segment(text)
pprint(tagged_text)
[('人工智能', 'noun'), ('(', 'punctuation mark'), ('英语', 'noun'), (':', 'punctuation mark'), ('Artificial', 'noun'), (' ', None), ('Intelligence', 'noun'), (',', 'punctuation mark'), (' ', None), ('AI', 'noun'), (')', 'punctuation mark'), ('亦', 'adverb'), ('稱', 'noun'), ('機', 'noun'), ('器', 'noun'), ('智能', 'noun'), (',', 'punctuation mark'), ('是', 'verb'), ('指', 'verb'), ('由', 'preposition'), ('人工', 'distinguishing word'), ('製', 'noun'), ('造', 'verb'), ('出', 'verb'), ('來', 'noun'), ('的', 'particle'), ('系', 'noun'), ('統', 'noun'), ('所', 'particle'), ('表', 'verb'), ('現', 'noun'), ('出', 'verb'), ('來', 'noun'), ('的', 'particle'), ('智能', 'noun'), ('。', 'punctuation mark'), ('通常', 'distinguishing word'), ('人工智能', 'noun'), ('是', 'verb'), ('指', 'verb'), ('通', 'verb'), ('過', 'noun'), ('普通', 'adjective'), ('電', 'noun'), ('腦', 'noun'), ('實', 'noun'), ('現', 'noun'), ('的', 'particle'), ('智能', 'noun'), ('。', 'punctuation mark'), ('該', 'noun'), ('詞', 'noun'), ('同', 'preposition'), ('時', 'noun'), ('也', 'adverb'), ('指', 'verb'), ('研究', 'verb'), ('這', 'noun'), ('樣', 'noun'), ('的', 'particle'), ('智能', 'noun'), ('系', 'verb'), ('統', 'noun'), ('是否', 'verb'), ('能', 'verb'), ('夠', 'noun'), ('實', 'noun'), ('現', 'noun'), (',', 'punctuation mark'), ('以及', 'conjunction'), ('如何', 'pronoun'), ('實', 'noun'), ('現', 'noun'), ('的', 'particle'), ('科', 'noun'), ('學', 'noun'), ('領', 'noun'), ('域', 'noun'), ('。', None), ('', 'punctuation mark'), ('一般', 'adjective'), ('教材', 'noun'), ('中', 'noun of locality'), ('的', 'particle'), ('定义', 'noun'), ('领域', 'noun'), ('是', 'verb'), ('“', 'punctuation mark'), ('智能', 'noun'), ('主体', 'noun'), ('(', 'punctuation mark'), ('intelligent', 'adjective'), (' ', None), ('agent', 'noun'), (')', 'punctuation mark'), ('的', 'particle'), ('研究', 'verb'), ('与', 'conjunction'), ('设计', 'verb'), ('”', 'punctuation mark'), ('[1]', 'string'), (',', 'punctuation mark'), ('智能', 'noun'), ('主体', 'noun'), ('是', 'verb'), ('指', 'verb'), ('一个', 'numeral'), ('可以', 'verb'), ('观察', 'verb'), ('周', 'noun'), ('遭', 'verb'), ('环境', 'noun'), ('并', 'conjunction'), ('作出', 'verb'), ('行动', 'verb'), ('以', 'preposition'), ('达', 'verb'), ('致', 'verb'), ('目标', 'noun'), ('的', 'particle'), ('系统', 'noun'), ('。', 'punctuation mark'), ('[2]', 'string'), ('约翰·麦卡锡', 'noun'), ('于', 'preposition'), ('1955年', 'time word'), ('的', 'particle'), ('定义', 'noun'), ('是', 'verb'), ('[3]', 'string'), ('「', 'punctuation mark'), ('制造', 'verb'), ('智能', 'noun'), ('机器', 'noun'), ('的', 'particle'), ('科学', 'noun'), ('与', 'conjunction'), ('工程', 'noun'), ('。', 'punctuation mark'), ('」', 'punctuation mark'), ('[4]', 'string'), (' ', None), (' ', None), ('人工智能', 'noun'), ('的', 'particle'), ('研究', 'verb'), ('是', 'verb'), ('高度', 'noun'), ('技术性', 'noun'), ('和', 'conjunction'), ('专业', 'noun'), ('的', 'particle'), (',', 'punctuation mark'), ('各', 'pronoun'), ('分支', 'noun'), ('领域', 'noun'), ('都', 'adverb'), ('是', 'verb'), ('深入', 'verb'), ('且', 'conjunction'), ('各', 'pronoun'), ('不', 'adverb'), ('相通', 'verb'), ('的', 'particle'), (',', 'punctuation mark'), ('因而', 'conjunction'), ('涉及', 'verb'), ('範', 'punctuation mark'), ('圍', 'punctuation mark'), ('極', 'punctuation mark'), ('廣', 'punctuation mark'), ('。', 'punctuation mark'), ('[5]', 'string'), (' ', None), (' ', None), ('人工智能', 'noun'), ('的', 'particle'), ('研究', 'verb'), ('可以', 'verb'), ('分为', 'verb'), ('几', 'numeral'), ('个', 'classifier'), ('技术', 'noun'), ('问题', 'noun'), ('。', 'punctuation mark'), ('其', 'pronoun'), ('分支', 'noun'), ('领域', 'noun'), ('主要', 'adverb'), ('集中', 'verb'), ('在', 'preposition'), ('解决', 'verb'), ('具体', 'adjective'), ('问题', 'noun'), (',', 'punctuation mark'), ('其中', 'pronoun'), ('之一', 'pronoun'), ('是', 'verb'), (',', 'punctuation mark'), ('如何', 'pronoun'), ('使用', 'verb'), ('各种', 'pronoun'), ('不同', 'adjective'), ('的', 'particle'), ('工具', 'noun'), ('完成', 'verb'), ('特定', 'distinguishing word'), ('的', 'particle'), ('应用', 'verb'), ('程序', 'noun'), ('。', 'punctuation mark'), ('AI', 'noun'), ('的', 'particle'), ('核心', 'noun'), ('问题', 'noun'), ('包括', 'verb'), ('推理', 'verb'), ('、', 'punctuation mark'), ('知识', 'noun'), ('、', 'punctuation mark'), ('规划', 'noun'), ('、', 'punctuation mark'), ('学习', 'verb'), ('、', 'punctuation mark'), ('交流', 'verb'), ('、', 'punctuation mark'), ('感知', 'verb'), ('、', 'punctuation mark'), ('移动', 'verb'), ('和', 'conjunction'), ('操作', 'verb'), ('物体', 'noun'), ('的', 'particle'), ('能力', 'noun'), ('等', 'particle'), ('。', 'punctuation mark'), ('[6]', 'string'), ('強', 'punctuation mark'), ('人工智能', 'noun'), ('目前', 'time word'), ('仍然', 'adverb'), ('是', 'verb'), ('该', 'pronoun'), ('领域', 'noun'), ('的', 'particle'), ('长远', 'adjective'), ('目标', 'noun'), ('。', 'punctuation mark'), ('[7]', 'string'), ('目前', 'time word'), ('比较', 'adverb'), ('流行', 'verb'), ('的', 'particle'), ('方法', 'noun'), ('包括', 'verb'), ('统计', 'verb'), ('方法', 'noun'), (',', 'punctuation mark'), ('计算', 'verb'), ('智能', 'noun'), ('和', 'conjunction'), ('传统', 'noun'), ('意义', 'noun'), ('的', 'particle'), ('AI', 'noun'), ('。', 'punctuation mark'), ('目前', 'time word'), ('有', 'verb'), ('大量', 'numeral'), ('的', 'particle'), ('工具', 'noun'), ('应用', 'verb'), ('了', 'particle'), ('人工智能', 'noun'), (',', 'punctuation mark'), ('其中', 'pronoun'), ('包括', 'verb'), ('搜索', 'verb'), ('和', 'conjunction'), ('数学', 'noun'), ('优化', 'verb'), ('、', 'punctuation mark'), ('逻辑', 'noun'), ('推演', 'verb'), ('。', 'punctuation mark'), ('而', 'conjunction'), ('基', 'noun'), ('於', 'noun'), ('仿生', 'distinguishing word'), ('學', 'punctuation mark'), ('、', 'punctuation mark'), ('認', 'punctuation mark'), ('知心', 'adjective'), ('理', 'noun'), ('學', 'punctuation mark'), (',', 'punctuation mark'), ('以及', 'conjunction'), ('基于', 'preposition'), ('概率论', 'noun'), ('和', 'conjunction'), ('经济学', 'noun'), ('的', 'particle'), ('演算', 'verb'), ('法', 'noun'), ('等', 'particle'), ('等', 'verb'), ('也', 'adverb'), ('在', 'preposition'), ('逐步', 'adverb'), ('探索', 'verb'), ('當', 'punctuation mark'), ('中', 'noun of locality'), ('。', 'punctuation mark')]
frequency = termextract.nlpir.cmp_noun_dict(tagged_text)
pprint(frequency)
#term_list = termextract.nlpir.cmp_noun_list(tagged_text)
#pprint(term_list)
{'AI': 3, 'Artificial': 1, 'Intelligence': 1, 'agent': 1, 'intelligent': 1, '一般 教材': 1, '不同 的 工具': 1, '与': 1, '专业': 1, '了 人工智能': 1, '人工 製': 1, '人工智能': 4, '传统 意义': 1, '來': 2, '具体 问题': 1, '分支 领域': 2, '周': 1, '和': 1, '和 数学': 1, '基 於': 1, '夠 實 現': 1, '實 現': 1, '工程': 1, '技术 问题': 1, '方法': 1, '時': 1, '普通 電 腦 實 現': 1, '智能': 4, '智能 主体': 2, '智能 机器': 1, '核心 问题': 1, '概率论': 1, '法': 1, '物体': 1, '特定': 1, '环境': 1, '現': 1, '的': 2, '的 定义': 1, '的 定义 领域': 1, '的 工具': 1, '的 方法': 1, '目标': 1, '知心 理': 1, '知识': 1, '科 學 領 域': 1, '科学': 1, '程序': 1, '稱 機 器 智能': 1, '系 統': 1, '系统': 1, '統': 1, '约翰·麦卡锡': 1, '经济学': 1, '能力': 1, '英语': 1, '规划': 1, '該 詞': 1, '這 樣': 1, '通常 人工智能': 1, '逻辑': 1, '過': 1, '长远 目标': 1, '领域': 1, '高度 技术性': 1}
lr = termextract.core.score_lr(
frequency,
ignore_words=termextract.nlpir.IGNORE_WORDS,
lr_mode=1, average_rate=1)
pprint(lr)
{'AI': 1.0, 'Artificial': 1.0, 'Intelligence': 1.0, 'agent': 1.0, 'intelligent': 1.0, '一般 教材': 1.4142135623730951, '不同 的 工具': 1.2599210498948732, '与': 1.0, '专业': 1.0, '了 人工智能': 1.5650845800732873, '人工 製': 1.4142135623730951, '人工智能': 1.7320508075688772, '传统 意义': 1.4142135623730951, '來': 1.0, '具体 问题': 1.681792830507429, '分支 领域': 1.8612097182041991, '周': 1.0, '和': 1.0, '和 数学': 1.0, '基 於': 1.4142135623730951, '夠 實 現': 2.1398263878673256, '實 現': 2.6321480259049848, '工程': 1.0, '技术 问题': 1.681792830507429, '方法': 1.0, '時': 1.0, '普通 電 腦 實 現': 2.0827594879848212, '智能': 2.8284271247461903, '智能 主体': 2.213363839400643, '智能 机器': 2.0, '核心 问题': 1.681792830507429, '概率论': 1.0, '法': 1.0, '物体': 1.0, '特定': 1.0, '环境': 1.0, '現': 2.0, '的': 1.0, '的 定义': 1.189207115002721, '的 定义 领域': 1.414213562373095, '的 工具': 1.189207115002721, '的 方法': 1.0, '目标': 1.4142135623730951, '知心 理': 1.4142135623730951, '知识': 1.0, '科 學 領 域': 1.681792830507429, '科学': 1.0, '程序': 1.0, '稱 機 器 智能': 2.0, '系 統': 1.4142135623730951, '系统': 1.0, '統': 1.4142135623730951, '约翰·麦卡锡': 1.0, '经济学': 1.0, '能力': 1.0, '英语': 1.0, '规划': 1.0, '該 詞': 1.4142135623730951, '這 樣': 1.4142135623730951, '通常 人工智能': 1.5650845800732873, '逻辑': 1.0, '過': 1.0, '长远 目标': 1.4142135623730951, '领域': 2.0, '高度 技术性': 1.4142135623730951}
term_imp = termextract.core.term_importance(frequency, lr)
pprint(term_imp)
{'AI': 3.0, 'Artificial': 1.0, 'Intelligence': 1.0, 'agent': 1.0, 'intelligent': 1.0, '一般 教材': 1.4142135623730951, '不同 的 工具': 1.2599210498948732, '与': 1.0, '专业': 1.0, '了 人工智能': 1.5650845800732873, '人工 製': 1.4142135623730951, '人工智能': 6.928203230275509, '传统 意义': 1.4142135623730951, '來': 2.0, '具体 问题': 1.681792830507429, '分支 领域': 3.7224194364083982, '周': 1.0, '和': 1.0, '和 数学': 1.0, '基 於': 1.4142135623730951, '夠 實 現': 2.1398263878673256, '實 現': 2.6321480259049848, '工程': 1.0, '技术 问题': 1.681792830507429, '方法': 1.0, '時': 1.0, '普通 電 腦 實 現': 2.0827594879848212, '智能': 11.313708498984761, '智能 主体': 4.426727678801286, '智能 机器': 2.0, '核心 问题': 1.681792830507429, '概率论': 1.0, '法': 1.0, '物体': 1.0, '特定': 1.0, '环境': 1.0, '現': 2.0, '的': 2.0, '的 定义': 1.189207115002721, '的 定义 领域': 1.414213562373095, '的 工具': 1.189207115002721, '的 方法': 1.0, '目标': 1.4142135623730951, '知心 理': 1.4142135623730951, '知识': 1.0, '科 學 領 域': 1.681792830507429, '科学': 1.0, '程序': 1.0, '稱 機 器 智能': 2.0, '系 統': 1.4142135623730951, '系统': 1.0, '統': 1.4142135623730951, '约翰·麦卡锡': 1.0, '经济学': 1.0, '能力': 1.0, '英语': 1.0, '规划': 1.0, '該 詞': 1.4142135623730951, '這 樣': 1.4142135623730951, '通常 人工智能': 1.5650845800732873, '逻辑': 1.0, '過': 1.0, '长远 目标': 1.4142135623730951, '领域': 2.0, '高度 技术性': 1.4142135623730951}
膠着言語の場合は、termextract.core.modify_agglutinative_lang()で整形をする
import collections
data_collection = collections.Counter(term_imp)
for cmp_noun, value in data_collection.most_common():
print(termextract.core.modify_agglutinative_lang(cmp_noun), value, sep="\t")
智能 11.313708498984761 人工智能 6.928203230275509 智能主体 4.426727678801286 分支领域 3.7224194364083982 AI 3.0 實現 2.6321480259049848 夠實現 2.1398263878673256 普通電腦實現 2.0827594879848212 智能机器 2.0 來 2.0 現 2.0 的 2.0 稱機器智能 2.0 领域 2.0 技术问题 1.681792830507429 科學領域 1.681792830507429 具体问题 1.681792830507429 核心问题 1.681792830507429 了人工智能 1.5650845800732873 通常人工智能 1.5650845800732873 一般教材 1.4142135623730951 基於 1.4142135623730951 传统意义 1.4142135623730951 长远目标 1.4142135623730951 人工製 1.4142135623730951 統 1.4142135623730951 高度技术性 1.4142135623730951 系統 1.4142135623730951 目标 1.4142135623730951 知心理 1.4142135623730951 該詞 1.4142135623730951 這樣 1.4142135623730951 的定义领域 1.414213562373095 不同的工具 1.2599210498948732 的定义 1.189207115002721 的工具 1.189207115002721 Intelligence 1.0 的方法 1.0 intelligent 1.0 方法 1.0 工程 1.0 英语 1.0 過 1.0 周 1.0 和数学 1.0 系统 1.0 与 1.0 和 1.0 agent 1.0 专业 1.0 特定 1.0 物体 1.0 约翰·麦卡锡 1.0 概率论 1.0 科学 1.0 环境 1.0 知识 1.0 经济学 1.0 能力 1.0 Artificial 1.0 時 1.0 程序 1.0 规划 1.0 逻辑 1.0 法 1.0