Python で全文検索 バイグラムの作り方 その1
GAE上でやっぱり全文検索は欲しい訳でそれが無いならば、作るしか無い訳で、今それを頑張っている所。tinySegmenter使ったやつはもう出来たけど、コレ取れるだろとか言う簡単なのが取れなかったりするので、N-Gramで絶対取れるようになるのを目的とする。多少のノイズは目をつぶろう。
色々調べたけど、とりあえづ、バイグラムでプロトタイプを作ることにした。んで、さらに色々見てると、切り出しに再帰とかgeneratorとか使ってるのが一杯見つかったんだけど、なぜ、そんな事をする必要があるのかなぁと理解出来なかったので普通にスライスした。
#!/usr/bin/python # _*_ coding:utf-8 _*_ def ngram(src, n): for i in range(len(src)): print src[i:i+n].encode('utf8') if __name__ == "__main__": src = u'''# Apple、Appleのロゴは、米国および他国のApple Inc.の登録商標です。iPhoneはApple Inc.の商標です。 ''' ngram(src, 2)
これで十分な気がするが何か問題があるのだろうか?
これに、ここhttp://gihyo.jp/dev/serial/01/make-findspot/0005を参考に
出現位置のオフセットを追加して取り込んでみたいと思う。
とりあえづ