Kesin's diary

プログラミングの記事がメインです

自然言語処理

研究のプログラミングにおける悲劇を無くすためのGitとテスト

大学の研究に役に立った物シリーズ第3弾です 今回は研究のためのプログラミングのノウハウについてです。 特に、研究におけるプログラミングでの悲劇を防ぐために自分が実践していた方法を紹介をしたいと思います。大学や研究室によっては、このような研究の…

大学の研究で役に立ったもの(勉強編)

大学の研究に役に立ったものシリーズ第2弾です。 今回は、研究に関係する技術の勉強に役に立ったものを紹介したいと思います。 ちなみに、自分の研究は情報系で、研究室のテーマは自然言語処理、音声言語処理、機械学習関係でした。 あくまで自分には役に立…

大学の研究で役に立ったもの(サービス編)

数年間大学で学生として研究生活をしていましたが、今年の3月をもって無事に大学院を卒業できそうです。 そんなわけで過去を振り返るのと、これから大学で研究生活が始まる人に向けて、自分が大学で研究をする上で色々便利だったアレコレを数回に分けて紹介…

テキストセグメンテーションの研究紹介

自分の研究に間接的に使うことになって、最近勉強したのでメモ テキストセグメンテーションとは? 自然言語処理の一種で、ブログなどの色々なトピックがごちゃまぜに書かれている非構造な文書を、ニュースのようにトピックごとに分割する手法です。 例 こん…

SuffixArrayを作ってみた(Python)

前回の続き 自然言語処理はじめました - Ngramを数え上げまくるを見てSuffixArrayを使ったNgram取得をやってみたくなりました!前回SuffixArray構築に必須の文字列のソートアルゴリズムのマルチキークイックソートが実装できたのでいよいよSuffixArrayを実装…

マルチコアで形態素解析を行う2(multiprocessing編)

前回の続きで今回はPythonで形態素解析をマルチコアで行うプログラムを実際に書いてみます。私自身multiprocessingモジュールはまだ全然理解できていませんが、並列に実行するプログラムを書くには Processクラス Poolクラス を使う必要があるようです。おそ…

マルチコアで形態素解析を行う1(プロファイリング編)

Pythonにはプロファイラというものが標準で付いていることを知りました。プロファイラを使用すると関数ごとの呼び出し回数や処理時間が計測できるので、どの部分が処理時間の足を引っ張ってるのかが簡単に分かります。無駄なループなどをコードとにらめっこ…

RSSで自然言語処理を体験する

自然言語処理って何? 大学の研究では自然言語処理というものを扱っています。 と言われても自然言語処理って何?という人がほとんど(自分も今年の4月まで知りませんでした)だと思いますので、自然言語処理について紹介していきたいと思います。自然言語処…