日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

日语python怎么说_python+Mecab,一次性学会日语分词

發(fā)布時(shí)間:2023/12/15 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日语python怎么说_python+Mecab,一次性学会日语分词 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

某天在磕N1聽(tīng)力材料的時(shí)候,突然想到:“如果把聽(tīng)力里的高頻詞都背熟,那我的日語(yǔ)聽(tīng)力豈不是暢通無(wú)阻?”(我可真是個(gè)小機(jī)靈鬼)

實(shí)現(xiàn)思路就是“分詞+統(tǒng)計(jì)”,先寫(xiě)一個(gè)日語(yǔ)詞頻統(tǒng)計(jì)小程序再說(shuō)。

于是,說(shuō)搞就搞。

日語(yǔ)分詞包

調(diào)研(google)了一下,發(fā)現(xiàn)日語(yǔ)也有類(lèi)似jieba這樣的分詞包,用的比較多的是Mecab,類(lèi)似的還有ChaSen、JUMAN這些,可以看下這幾個(gè)的對(duì)比。對(duì)于簡(jiǎn)單的分詞統(tǒng)計(jì)來(lái)說(shuō),Mecab夠用了。

對(duì)日語(yǔ)分詞包感興趣的朋友可以參考這個(gè):日文分詞器 Mecab 文檔 | 我愛(ài)自然語(yǔ)言處理?www.52nlp.cn

安裝Mecab

和python其他包的安裝類(lèi)似,一行代碼解決問(wèn)題

pip install mecab-python3

小試牛刀

裝完之后,在python里導(dǎo)入Mecab,順便看看是否成功安裝

import MeCab

如果沒(méi)問(wèn)題的話,那就可以進(jìn)入正題了,先找一句話來(lái)練練手。天気がいいから、散歩しましょう

text = "天気がいいから、散歩しましょう"

mecab_tagger = MeCab.Tagger("-Owakati")

mecab_tagger.parse(text)

輸出的結(jié)果是:

Out[1]:'天気 が いい から 、 散歩 し ましょ う \n'

可以看到,每個(gè)詞中間都被一個(gè)空格隔開(kāi)了,這個(gè)時(shí)候再稍加處理一下,就可以得到一個(gè)分詞的list了:

In [2]:mecab_tagger.parse(text).split()[:-1]#[:-1]是為了把末尾的\n去掉

Out[2]: ['天気', 'が', 'いい', 'から', '、', '散歩', 'し', 'ましょ']

簡(jiǎn)單的分詞就這樣完成了!

詞性區(qū)分和變形詞

在實(shí)際的應(yīng)用場(chǎng)景中,往往不是這種簡(jiǎn)單的分詞就可以的,比如有時(shí)候需要針對(duì)名詞進(jìn)行詞頻統(tǒng)計(jì),這就涉及到詞性的區(qū)分。

在上面的代碼中,我們用到了"-Owakati",這是一個(gè)只用于詞語(yǔ)分割的模式,全稱(chēng)應(yīng)該是「わかち?xí)埂1容^常用的還有一個(gè)模式是"-Ochasen",舉個(gè)例子感受一下:

mecab_tagger = MeCab.Tagger("-Ochasen") # `-Owakati` 只做分詞

text = "ご飯を食べましたか"

print(mecab_tagger.parse(text))

輸出的結(jié)果是:

ご飯 ゴハン ご飯 名詞-一般

を ヲ を 助詞-格助詞-一般

食べ タベ 食べる 動(dòng)詞-自立 一段 連用形

まし マシ ます 助動(dòng)詞 特殊?マス 連用形

た タ た 助動(dòng)詞 特殊?タ 基本形

か カ か 助詞-副助詞/並立助詞/終助詞

EOS

##原格式是'ご飯\tゴハン\tご飯\t名詞-一般\t\t\nを\tヲ\tを\t助詞-格助詞-一般\t\t\n食べ\tタベ\t食べる\t動(dòng)詞-自立\t一段\t連用形\nまし\tマシ\tます\t助動(dòng)詞\t特殊?マス\t連用形\nた\tタ\tた\t助動(dòng)詞\t特殊?タ\t基本形\nか\tカ\tか\t助詞-副助詞/並立助詞/終助詞\t\t\nEOS\n'

從上面的結(jié)果可以看到,輸出的內(nèi)容包括:分詞結(jié)果、讀音、原形詞、詞性等各類(lèi)信息,基本上可以滿足日常需求了。這里面我個(gè)人比較常用的是詞性+原形詞,尤其是原形詞。畢竟大家都知道,日語(yǔ)里各種動(dòng)詞變形簡(jiǎn)直要了老命,而在做詞頻統(tǒng)計(jì)的時(shí)候直接根據(jù)原形詞統(tǒng)計(jì)會(huì)方便很多,也可以算是數(shù)據(jù)清洗的一種方式。

可以根據(jù)自己的需要選擇都需要哪些信息,以下是代碼示例

mecab_tagger = MeCab.Tagger("-Ochasen") #注意選定需要的模式

#自定義分詞輸出的格式

def format_tag_result(x):

pieces = []

for i in x.splitlines()[:-1]: #結(jié)尾的"EOS"順手去掉

i = i.split()

pieces.append((i[0], i[-1]))#選擇需要的內(nèi)容

return pieces

text = "天気がいいから、散歩しましょう"

print(format_tag_result(mecab_tagger.parse(text)))

輸出的結(jié)果:

[('天気', '名詞-一般'), ('が', '助詞-格助詞-一般'), ('いい', '基本形'), ('から', '助詞-接続助詞'), ('、', '記號(hào)-読點(diǎn)'), ('散歩', '名詞-サ変接続'), ('し', '連用形'), ('ましょ', '未然ウ接続'), ('う', '基本形')]

好了,到這里為止,關(guān)于Mecab的基本用法就介紹完了。

一個(gè)栗子:N考真題文本分詞統(tǒng)計(jì)

找了一份歷年聽(tīng)力真題的txt文本,進(jìn)行高頻詞統(tǒng)計(jì)。

"""

Created on Sun Apr 12 11:44:30 2020

@author: chenlufan

"""

import MeCab

import pandas as pd

file_in = open('test.txt')

f_line = file_in.read()

mecab_tagger = MeCab.Tagger("-Ochasen")

result=mecab_tagger.parse(f_line)

my_list = []

for i in result.splitlines()[:-1]:

i = i.split()

try:

v = (i[2], i[1], i[-1])

except:

pass

my_list.append(v)

word_dict = {}

word_sub = {}

word_pro={}

for i in my_list:

if i[-1].split('-')[0] not in ['助詞','記號(hào)']:

if i[0] not in word_dict:

word_dict[i[0]]=1

word_sub[i[0]]=i[-1]

word_pro[i[0]]=i[1]

else:

word_dict[i[0]] =word_dict[i[0]]+1

df =pd.DataFrame({"fre":word_dict,'pro':word_pro,'sub':word_sub})

df=df[df.fre>1]

df=df.sort_values(by=['fre'],ascending=False)

df.to_csv('N1聽(tīng)力分詞.csv')

輸出的結(jié)果(參考):

結(jié)語(yǔ)

之所以寫(xiě)這篇文章,是因?yàn)檎冒褍蓚€(gè)熟悉的東西結(jié)合到了一起——python和日語(yǔ)。學(xué)了很多東西之后,現(xiàn)在漸漸開(kāi)始感受到跨學(xué)科產(chǎn)生的新樂(lè)趣。不過(guò)不管怎么說(shuō),更重要的是有趣的想法,工具只是幫助夢(mèng)想照進(jìn)現(xiàn)實(shí)而已。

以上。

總結(jié)

以上是生活随笔為你收集整理的日语python怎么说_python+Mecab,一次性学会日语分词的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。