GASで自分のツイートを取得してスプレッドシートに記録するやつで記録した自分のツイートを形態素解析してみました。形態素解析にはYahoo!の日本語形態素解析APIを使ってます。
Googleスプレッドシートで形態素解析
こちらの記事を参考にさせていただきました。
function tweetAnalyze() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var tweetSheet = ss.getSheetByName('ツイートを記録してあるシート');
var lastRow = tweetSheet.getLastRow();
var tweetArray = [];
var j = 0;
//ツイートを配列に格納
for(i = 2; i <= lastRow; i++){
tweetArray[j] = tweetSheet.getRange(i,2).getValue();
j++;
}
var analyzeSheet = ss.getSheetByName('結果を記録したいシート');
var analyzeArray;
lastRow = analyzeSheet.getLastRow() + 1;
var i = 0;
while(i < tweetArray.length){
//リプライとURLは除外する
if(tweetArray[i].indexOf("@") < 0 && tweetArray[i].indexOf("http") < 0){
analyzeArray = yahooTextSegmentation(tweetArray[i]);
j = 0;
while(j < analyzeArray.length){
analyzeSheet.getRange(lastRow,1).setValue(analyzeArray[j][0]);
analyzeSheet.getRange(lastRow,2).setValue(analyzeArray[j][1]);
analyzeSheet.getRange(lastRow,3).setValue(analyzeArray[j][2]);
lastRow++;
j++;
}
}
i++;
}
}
function yahooTextSegmentation(cell)
{
var myAppid = "自分のアプリケーションID";
var text = encodeURIComponent(cell);
var myUrl = "http://jlp.yahooapis.jp/MAService/V1/parse?appid="+myAppid+"&results=ma&sentence="+text;
Utilities.sleep(1000);
var myXml = UrlFetchApp.fetch(myUrl ,{muteHttpExceptions: true});
var myDoc = XmlService.parse(myXml.getContentText());
var namespace = XmlService.getNamespace("urn:yahoo:jp:jlp");
var root = myDoc.getRootElement();
var ma_result = root.getChild("ma_result", namespace);
var word_list = ma_result.getChild("word_list", namespace);
var word_array = word_list.getChildren("word", namespace);
var array = [];
for (var i=0; i < word_array.length; i++) {
array[i] = [
word_array[i].getAllContent()[0].asElement().getText(),
word_array[i].getAllContent()[1].asElement().getText(),
word_array[i].getAllContent()[2].asElement().getText()
];
}
return array;
}
何かありましたら気軽にコメントください。