読者です 読者をやめる 読者になる 読者になる

唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

bag of wordsのbagがmultisetという意味だったことを今更知った

自然言語処理や情報検索などでよく使われるbag of wordsモデルというのがある これはテキストデータを単語(形態素?)の位置は無視して単語ごとの出現回数だけで表す方法で、このモデルで表したデータを適当に機械学習の分類器にかけるだけでそれなりによい結…

日本語形態素解析器のイメージ

前にこんなツイートをしたけどもうちょっとちゃんとメモっておく ゆるふわカジュアル勢()なので内容に間違ってる点があったら教えてくださると嬉しいです勝手なイメージだと、MeCab →一番使われてる 。速い。辞書を弄くるのが簡単。いろいろ移植されてる。Ju…

論文感想: "正規-崩れ表記のアライメントに基づく表記崩れパタンの抽出と形態素解析への導入"(214回NL研)

情報処理学会 第214回自然言語処理研究会 概要 ネット上に登場するような崩れた表記のテキストの形態素解析をする。正規の表現(崩れてない表現)と崩れた表現のペアのデータを用意して、崩れ方のパターンと信頼度を学習し、形態素解析時に利用する 手法 正規…

Python用のトピックモデルのライブラリgensim の使い方(主に日本語のテキストの読み込み)

gensimは前に以下の記事でも使ったPython用のトピックモデルなどの機能があるライブラリです。 小説家になろうのランキングをトピックモデルで解析(gensim) - 唯物是真 @Scaled_Wurm 以前紹介した以下の論文でもgensimが使われていました 論文紹介 “Represen…

論文感想: "Social Text Normalization using Contextual Graph Random Walks" (ACL 2013)

"Social Text Normalization using Contextual Graph Random Walks" (pdf) Twitterとかのソーシャルメディアではくだけた表現が多いので、そういうテキストの正規化をする話 以下論文中の例の一部 wuz up bro (what is up brother) 4get (forget), 2morrow (…

論文紹介 “Discriminative Learning with Natural Annotations: Word Segmentation as a Case Study” (ACL 2013)

"Discriminative Learning with Natural Annotations: Word Segmentation as a Case Study" (pdf) 研究室で論文紹介したので以下に資料を貼っておきます。 図表は論文中から引用しています何故か研究室での論文紹介は、資料が英語で口頭説明が日本語なので、…

論文感想: "Microblogs as Parallel Corpora" (ACL 2013)

Utopia/Microtopia Parallel Corpus ↑データなども公開されているみたいですマイクロブログ(TwitterとWeibo)中のツイートから「パラレルな(翻訳になっている)」文章が含まれているものを集めてくる話 基本的には一つのツイート中に複数の言語が含まれている…

論文感想: "Learning Latent Personas of Film Characters" (ACL 2013)

"Learning Latent Personas of Film Characters"(pdf) キャラクターのタイプ(persona、人格)を分析する話。 自然言語処理では物語のプロットとかイベントの連鎖の研究は多いけど、キャラクターのタイプに対する研究は初めてらしい映画のデータを対象としてい…

論文感想: "Identification of Speakers in Novels" (ACL 2013)

"Identification of Speakers in Novels"(pdf) 小説のセリフがどの登場人物のものかを推定する話。 教師ありのランキング学習(SVM-rankを利用)。 7割ぐらいは正解できるらしい先行研究の教師ありの分類で使われている特徴量(セリフとの距離、登場人物の出現…

MeCabでN-Best解を出力した時のコストの表示がおかしい?

「MeCabでN-best解を出力した時に累積コストを見ると順番に並んでないように見えるんですが何故ですか?」ときかれて答えられなかったのでとりあえずメモ 上の質問自体は、質問者がEOSとの連接コストを計算し忘れていたのではないかと思うんですが……それ以外…

論文感想: "Exploiting Topic based Twitter Sentiment for Stock Prediction" (ACL 2013 short)

"Exploiting Topic based Twitter Sentiment for Stock Prediction" 概要 Twitterから株価の指標の上下を予測する話。 似たような話は前からあるけど、この論文ではトピックモデル(前の日のトピックを考慮したDirichlet Process Mixture)を使ってよい結果を…

論文感想: "Good, Great, Excellent: Global Inference of Semantic Intensities"(TACL vol.1)

Good, Great, Excellent: Global Inference of Semantic Intensities 図表、式は論文中から引用 概要 似た意味の形容詞の強弱の順序付けをするタスク 例えば「寒い」「涼しい」「冷たい」「痛い」などの形容詞が与えられた時に、その強弱関係は「涼しい<寒…

論文感想: "TopicSpam: a Topic-Model based approach for spam detection" (ACL 2013 short)

"TopicSpam: a Topic-Model based approach for spam detection" 概要 spam detectionとなっているけれど、以前紹介した以下の論文と同様に、偽のレビューの検出を行っている 論文感想: "Finding Deceptive Opinion Spam by Any Stretch of the Imagination"…

Lossy Countingの変種を実装してみた

前に以下の記事でLossy Countingを実装しましたが、より省メモリな変種があるらしいのでそちらも書いてみました Lossy Countingを実装してみた - 省メモリな頻度計測 - 唯物是真 @Scaled_Wurm 以下の論文のAlgorithm 2の擬似コードそのままです。 "Methods f…

Lossy Countingを実装してみた - 省メモリな頻度計測

大規模データで頻度を数えると、欲しいのはよく登場するアイテムの情報なのに、ほとんど出現しないアイテムの種類数が非常に多くて、それらがメモリを大量に必要としてしまうという問題があるこれに対してアイテムの種類数の最大値に制限を加えたり、頻度に…

論文感想: "The lie detector: explorations in the automatic recognition of deceptive language" (IJCNLP 2009 Short)

"The lie detector: explorations in the automatic recognition of deceptive language" 与えられた文章が嘘かどうかを識別するタスクAmazon Mechanical Turkで大勢の人に、本当の意見と嘘の意見を書いてもらってデータセットにしている。 ナイーブベイズや…

論文紹介 “Representing Topics Using Images” (NAACL 2013)

“Representing Topics Using Images", Nikolaos Aletras and Mark Stevenson 研究室で論文紹介したので適当に以下に資料を貼っておく。 論文を読んだ後で気づいたけど、NAACL 2013はまだやっていないので、preprintバージョン(?)っぽい。 何故か研究室での…

単語などをIDにマッピングする

異なる要素ごとに別々の数値をIDとして割り振って管理したいってことがよくあります。Twitterで以下のようなツイートを見かけました。 Pythonでwids = defaultdict(lambda: len(wids))だけで単語を単語IDにマッピングする辞書を作れることに気づいた。Python…

小説家になろうのランキングをトピックモデルで解析(gensim)

小説家になろうというWeb小説投稿サイトがあります。 いわゆるライトノベル的な作品が多いのですが、近年書籍化される作品が多く出ていて注目を集めています。 続々と「小説家になろう」から書籍化作品が登場! - フラン☆Skin はてな支店 小説を読もう! || …

Python で疎行列(SciPy)

疎行列とは 疎行列は成分のほとんどがゼロである行列のことです。 たとえば、文書に登場する単語の頻度を数えたりするとこういった行列になります。 他にも疎なグラフの隣接行列は疎行列になります。 こういった行列は通常の行列(密行列)を使うよりも、少な…

論文感想: "きたああああああああああああああああ!!!!!11:マイクロブログを用いた教師なし叫喚フレーズ抽出"(DEIM 2013)

"きたああああああああああああああああ!!!!!11:マイクロブログを用いた教師なし叫喚フレーズ抽出"(DEIM 2013) タイトルが気になったので読みました、予稿ですが DEIM2013 暫定予稿集 概要 内容は「ねむいいぃぃぃぃ」とかタイトルにある「きたああ…

MeCabのC++ライブラリを使ってみた(C++11のマルチスレッドに触ってみた)

MeCabをマルチスレッドで動かしてみたい!という話です。 マルチスレッドの方法としてはC++11のstd::threadを使います。MeCabをマルチスレッドで動かす方法については以下の記事が参考になりました。 MeCabをC++から使ってみる | mwSoft またMeCab公式にもマ…

xargsを使った並列化を試したメモ

xargs -P が激しく便利なのでメモ - 新生おともだち研究会 xargs を使ってカジュアルに並列処理 - tagomorisのメモ置き場 ↑の辺りの記事を読んでxargsによる並列化を試してみたメモ。 結果を先に書いておくと、残念ながら並列化してもあまり速くならなかった…

論文感想: "TCSST: Transfer Classification of Short & Sparse Text Using External Data"(CIKM 2012)

TCSST: Transfer Classification of Short & Sparse Text Using External Data 概要 Twitterなどのマイクロブログや検索エンジンのスニペット、レビューなどの短くスパースな文章に対して、外部のリソースを使って転移学習を行うことで精度の向上をする。関…

集合とかベクトルの類似度の計算のメモ

Pythonで実装する類似度計算 - Screaming Loud #1283. 共起性の計算法 ↑この辺りの記事を見て、集合とかベクトルの類似度の計算の記事を下書きのまま放置していたことを思い出したので書き上げた。類似度の計算のコードを書いたのでそれを載せるだけにしよう…

論文感想: "Creating Stories: Social Curation of Twitter Messages"(ICWSM2012)

Creating Stories: Social Curation of Twitter Messages Akisato Kimura: Research Interests: Assisting social curation of Twitter messages 追記 読んだ論文とリンク先の論文(4ページ)が微妙に違うっぽいというか、前に印刷したものと同じ内容の論文(8…

Dartsの仕様につまづいた話――あるいはMeCabに些細なバグを見つけた話

Double ArrayによるTrieのライブラリDartsのcommonPrefixSearch関数は次のような戻り値と引数になっています。 size_t commonPrefixSearch(const key_type *key, T* result, size_t result_len, size_t len = 0, size_t node_pos = 0);ここでresult_lenは結…

論文感想: "Ergodic multigram HMM integrating word segmentation and class tagging for Chinese language modeling"(ICASSP-96)

概要 1996年のかなり古い論文。 隠れマルコフモデル(Hidden Markov Model, HMM)で中国語の形態素解析(単語分割と品詞タグ付け)をする話。 感想 中国語や日本語などの分かち書きされていない言語で、HMMを使って単語分割と品詞タグ付けをする場合の式を知りた…

論文感想: "Automatically Constructing a Normalisation Dictionary for Microblogs"(EMNLP-CoNLL 2012)

"Automatically Constructing a Normalisation Dictionary for Microblogs" 概要 Twitterとかでの単語の正規化用の辞書を作る話。 例、2morw→tomorrow 手法 文脈類似度の似た、辞書にない単語(OOV)と辞書にある単語(IVのペア)を集める 集めたペアを文字列的…

「Darts: Double-ARray Trie System」のサンプルコードが動かない

Darts: Double ARray Trie System Double Arrayを使いたかったので、Dartsを使おうとしたらサンプルコードが動かなくて困りました。 g++でもclang++でもダメでした。 オプションの違いとかなんですかね?exactMatchSearchに戻り値の型を指定したら一応動かせ…

『言語処理のための機械学習入門』のPLSA(アスペクトモデル)のEMアルゴリズムの導出(例題3.4)

『言語処理のための機械学習入門 (自然言語処理シリーズ)』(いわゆる高村本)で研究室の後輩が勉強会をしていて、自分でも一瞬わからなかったのでメモ。 PLSAとかPLSIとかアスペクトモデルとか名前がいろいろあってよくわからないです。 同時確率 文書を、単…

Twitterのトピックを推定:"Finding Bursty Topics from Microblogs"(ACL 2012)

Finding Bursty Topics from Microblogs 概要 トピック推定で用いられることの多いLDA(Latent Dirichlet Allocation)に以下の2つのマイクロブログ特有の要素を加えた. 同じ時間には同じようなトピックが出やすい.例えば大事件が起きた日 ユーザーは時間に…

外国語を解読する:"Deciphering Foreign Language by Combining Language Model and Context Vectors"(ACL 2012)

Deciphering Foreign Language by Combining Language Model and Context Vectors 概要 通常の統計的機械翻訳ではパラレルコーパスという同じ文の対訳データやコンパラブルコーパスという同じようなトピックについて書かれたデータなどを利用することが多い…

論文感想: "Stylometric Analysis of Scientific Articles"(NAACL-HLT 2012)

Stylometric Analysis of Scientific Articles 概要 論文の文体から以下の3つのタスクをSVMを用いて識別. 英語ネイティブか否か 性別 カンファレンスかワークショップか 使用されているfeature Bow(単語) Style(文体) Syntax(構文) 結果 F値でネイティブか…

食べ物の値段を説明から推定する:"Word Salad: Relating Food Prices and Descriptions"(EMNLP-CoNLL 2012)

Word Salad: Relating Food Prices and Descriptions 概要 レビュー文から極性(ポジティブかネガティブか)を推定するって話はたくさんあるけれど,これは説明文やレビュー文から食べ物の値段を推定するっていう面白いタスク.素性としてはメニュー名や説明文…

論文感想: "Wiki-ly Supervised Part-of-Speech Tagging"(EMNLP-CoNLL 2012)

Wiki-ly Supervised Part-of-Speech Tagging 概要 フリーな辞書のWiktionaryを利用して、弱教師あり形態素解析を行う。Wiktionaryに登録されている品詞が選ばれるように制限をかけて,隠れマルコフモデルをEMアルゴリズムを用いて学習.Unsupervisedな場合よ…

論文感想: "An Empirical Investigation of Statistical Significance in NLP"(EMNLP-CoNLL 2012)

An Empirical Investigation of Statistical Significance in NLP 概要 自然言語処理における有意性検定に関する調査. 感想 いくつかのワークショップやshared taskでは各チームの出力が公開されていて,それらに対して検定を行なって評価指標とp-valueの関…

論文感想: "Multi-Domain Learning: When Do Domains Matter?"(EMNLP-CoNLL 2012)

Multi-Domain Learning: When Do Domains Matter? 概要 マルチドメインラーニング(MDL)におけるいくつかの疑問に対する検証. MDLによる精度上昇は必ずしもドメインの影響ではなく,アンサンブルの効果ではないか? ドメインラベルをランダムに入れ替えても…

論文感想: "Polarity Inducing Latent Semantic Analysis"(EMNLP-CoNLL 2012)

Polarity Inducing Latent Semantic Analysis 概要 文書-単語行列上でcos類似度などを使うと,意味的に似た単語同士を見つけることができる. しかしこの場合の「意味的に似た」というのは「類義語もしくは反意語」であり,「反意語」だけを見つけたい場合に…

論文感想: "Exploring Topic Coherence over many models and many topics"(EMNLP-CoNLL 2012)

"Exploring Topic Coherence over many models and many topics" 概要 トピックモデル[LSA(SVDによる), LSA(NMFによる), LDA]の比較を行う。 出力したトピックのコヒーレンス(一貫性)を近年提案された手法(UCI measure, UMass measure)の平均やエントロピー…

MeCabの出力フォーマット

形態素解析機MeCabで分かち書きを得たい時には-Owakati、読みを得たい時には-Oyomiとかオプションを付けますが、もっと細かくフォーマットを指定することができるみたいです。 いくつか試してみたので、書いときます。 形態素と品詞のペア mecab -F"%m-%f[0]…

論文感想: "Data-Driven Response Generation in Social Media"

http://www.cs.washington.edu/homes/aritter/mt_chat.pdf 研究室の論文紹介で紹介されたEMNLP2011の論文。 概要 Twitterなどのようなメッセージに対する応答を自動生成。 メッセージとその応答のコーパスに対して統計的機械翻訳の手法を使ったら、類似度の…

論文感想: "Semi-Supervised SimHash for Efficient Document Similarity Search"

Semi-Supervised SimHash for Efficient Document Similarity Search ACL2011の論文. 概要 類似文書検索のタスク。 既存の半教師ありのハッシュによる手法は、PCAやSVDライクな手法を用いているため、計算量が大きくまたビットを増やすほど曖昧なビットが増…

論文感想: "Word Maturity: Computational Modeling of Word Knowledge"

Word Maturity: Computational Modeling of Word Knowledge ACL2011の論文. 概要 単語の難しさを年齢(学年?)ごとに分けるタスク。 含まれる年齢の範囲の異なるコーパス(1, 1-2, 1-3,..., adult)から単語頻度-文書行列を作成。 adult以外のそれぞれについて…

論文感想: "Autonomous Self-Assessment of Autocorrections: Exploring Text Message Dialogue"

Autonomous Self-Assessment of Autocorrections: Exploring Text Message Dialogue NAACL2012の論文. 概要 SMSなどでの会話では入力の補助として,単語の訂正(ここでは補完を含む)のシステムが使われていることが多い. しかし,そういったシステムは間違…

論文感想: "Finding Deceptive Opinion Spam by Any Stretch of the Imagination"

PDF ACL2011の論文. 概要 最近食べログとかのステマが話題になりましたが,この研究は数値によるレビューではなく文章によるレビューに対するspamの検出. Amazon Mechanical Turkを使って偽の褒めるレビューを書いてもらって,それと実際の高評価のレビュ…

KyTea 0.4.1ではWindows版バイナリも配布するらしい

以前形態素解析器KyTeaがWindowsで使えるようになったらしいという記事を書きましたが,コンパイル済みバイナリの配布が始まったみたいです. KyTea 0.4.1をリリースしました URL !主に変わっているのはWindows版が(やっと)できたところです。それ以外、…

単語感情極性対応表のミス?

日記の下書き一覧を見てたら,昔の書き上がってる記事があったので蔵出し. 「単語感情極性対応表」という単語がポジティブ(+1)かネガティブ(-1)かというスコアをつけた辞書が公開されています. 商品や人物などについてどんな評判が囁かれているかを推定す…

形態素解析器KyTeaがWindowsで使えるようになったらしい

KyTea (京都テキスト解析ツールキット)は読み推定などの機能がついた最新の形態素解析器です. おお、KyTeaがまともにWindowsで動きました!v. 0.4.1からWindows版も配布できそうです。Windowsでのビルド説明書( URL )を書いてくれた @knzm2011 さんに感謝…

単語の頻度からLDAまでの流れの簡単なイメージのメモ

トピックモデルのLDA(Latent Dirichlet Allocation)が難しいって話をよく聞きますけど,詳しい理論的な部分はともかくどういう流れに位置するものかってのはわかりやすいので簡単にメモ. 専門でないので,詳しくは参考文献を読んだほうがいいです. トピッ…

-->