Powershellならこんな感じでGetwordに文章を与えるだけ。
[Windows.Globalization.JapanesePhoneticAnalyzer, Windows.Globalization, ContentType=WindowsRuntime]::GetWords($bunsho, $false)
JapanesePhoneticAnalyzerを使ってPowerShellで形態素解析(前編)
PowerShell Scripting Weblog 様より
http://winscript.jp/powershell/299
JapanesePhoneticAnalyzer Class Windows デベロッパー センター
https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.globalization.japanesephoneticanalyzer
やってみるとそれなりの結果。
$bunsho = "本邦にも、何の譯と知らぬが、命日に死者に供ふる飯を鹽氣なき土鍋もて炊ぐ"
$res = [Windows.Globalization.JapanesePhoneticAnalyzer, Windows.Globalization, ContentType=WindowsRuntime]::GetWords($bunsho, $false)
$res
DisplayText IsPhraseStart YomiText
----------- ------------- --------
本邦 True ほんぽう
にも False にも
、 True 、
何の True なんの
譯 True と
と True と
知 True し
ら False ら
ぬ False ぬ
が False が
、 True 、
命日 True めいにち
に False に
死者 True ししゃ
に False に
供 True とも
ふ True ふ
る False る
飯 True めし
を False を
鹽 True しお
氣 True き
なき True なき
土鍋 True どなべ
も False も
て True て
炊 True すい
ぐ True ぐ
名字の読みとかもある程度はできる。
$myoji = @("渡辺","渡邉","渡部","渡邊","WATANABE")
foreach($txt in $myoji){
$re += [Windows.Globalization.JapanesePhoneticAnalyzer, Windows.Globalization, ContentType=WindowsRuntime]::GetWords($txt, $false);
}
$re
DisplayText IsPhraseStart YomiText
----------- ------------- --------
渡辺 True わたなべ
渡邉 True わたなべ
渡部 True わたべ
渡邊 True わたなべ
WATANABE True WATANABE
メソッドとプロパティはこれ。
何かに使えそう。
TypeName: Windows.Globalization.JapanesePhoneme
Name MemberType Definition
---- ---------- ----------
CreateObjRef Method System.Runtime.Remoting.ObjRef CreateObjRef(type requestedType)
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetLifetimeService Method System.Object GetLifetimeService()
GetType Method type GetType()
InitializeLifetimeService Method System.Object InitializeLifetimeService()
ToString Method string ToString()
DisplayText Property string DisplayText {get;}
IsPhraseStart Property bool IsPhraseStart {get;}
YomiText Property string YomiText {get;}
あとpowershell で拡張子を一括変更
*.before から *.after に変更するとき
こんなん調べてたらphoneticが出てきた。
Get-ChildItem -Name | Rename-Item -NewName {$_ -replace "\.before$", ".after" }
0 件のコメント:
コメントを投稿