"진행 어떻습니까"프로그램에서 형태소 해석 엔진 MeCab 적용
파생
「진척·어떻게・입니다・인가」를 랜덤하게 표시해 「진척 어떻습니까」가 완성되면 부추어 오는 프로그램 C++
개요
글쎄, 늦었어.
종래 제안된 「진척 어떻습니까」계 프로그램은 모두, 소재에 취급하는 문장의 형태소를 인력으로 나누어, 소스 코드에 기입할 필요가 있습니다.
한 문장의 형태소를 기계적으로 추출할 수 있으면 소스 코드를 변경하지 않고 임의의 문장에서 이 프로그램을 이용할 수 있습니다. 이것을 가능하게 하는 형태소 해석 오픈 소스 엔진으로서 MeCab가 있습니다. MeCab을 적용하면 좋아하는 문장으로 "진행 어떻습니까"프로그램을 부담없이 실행할 수 있습니다.
구현
Ruby에는 MeCab 바인딩의
natto gem
가 있으므로 이것을 이용합니다. 여기 의 코멘트를 참고로.dou.rb
require "natto"
class Natto::MeCab
def morphemes(sentence_string)
# 入力文章の形態素の配列を返却。 "進捗どうですか" => ["進捗","どう","です","か"]
parse(sentence_string).each_line.map{|s| s[/^(.*?)\t/,1] }.compact
end
end
input = ARGV[0] || "進捗どうですか"
dic = Natto::MeCab.new.morphemes(input)
str = ''
print dic.sample.tap{|c| str << c } until str[-(input.size)..-1] == input
puts "!!!!"
puts
샘플
여기에서 이상입니다.
참고
Reference
이 문제에 관하여("진행 어떻습니까"프로그램에서 형태소 해석 엔진 MeCab 적용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/giiko_/items/c233a93a26fec79b1710텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)