Git Product home page Git Product logo

shibing624 / pycorrector Goto Github PK

View Code? Open in Web Editor NEW
5.3K 85.0 1.1K 51.58 MB

pycorrector is a toolkit for text error correction. 文本纠错,实现了Kenlm,T5,MacBERT,ChatGLM3,LLaMA等模型应用在纠错场景,开箱即用。

Home Page: https://www.mulanai.com/product/corrector/

License: Apache License 2.0

Python 99.89% Dockerfile 0.11%
spelling-errors error-correction pycorrector kenlm error-detection csc macbert4csc t5

pycorrector's People

Contributors

cabbagenoob avatar cclauss avatar codemayq avatar ghosthbl avatar gitabtion avatar james0128 avatar joe0120 avatar joey12300 avatar knightlancelot avatar liwenju0 avatar luozhouyang avatar majokiki avatar okcd00 avatar shibing624 avatar sullen777 avatar trellixvulnteam avatar treya-lin avatar vela-zz avatar xu-song avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pycorrector's Issues

误杀case:这纸=>这只

楼主,您好!今天新遇到一个badcase是:
第一次运行结果如下:
【这纸厚度如何?质量怎么样 ('这只厚度如何?质量怎么样', [['这纸', '这只', 1, 2]])】
然后我把“这纸”加入到word_freq字典中
第二次运行结果如下:
【这纸厚度如何?质量怎么样 ('这只厚度如何?质量怎么样', [['纸', '只', 1, 2]])】
然后我把“纸”加入到word_freq字典中
第三次运行结果如下:
这纸厚度如何?质量怎么样 ('这只厚度如何?质量怎么样', [['纸', '只', 1, 2]])

综上所述,这个badcase看来是通过加入word_freq解决不了的,请问楼主,有没有解决这个badcase的好方法?

需要用tensorflow?

在 requirements中有tensorflow,但是代码中没有 import,是将来用么?

单字误杀case

楼主,您好!我运行您的代码,遇到如下两个badcase:
(1)为了解决召回率太高,召回本不应该召回的问题,可以把正确的不想召回的词语加入到word_freq字典,这样做确实有一部分效果,但是对于单个字的,不起作用,比如:【湿度怎样呢?水分多吗 ('湿度怎样呢?水分多么', [['吗', '么', 9, 10]])】这个例子,我把“吗”加入word_freq字典,还是没有输出我想要的结果,请楼主帮忙调试代码?
(2)在word_freq中多加入几个新词,就报下面的错
2018-10-16 18:51:08,632 - /Users/wangyingshuai/pycorrector-master/pycorrector/detector.py - DEBUG - Loaded language model: /Users/wangyingshuai/pycorrector-master/pycorrector/data/kenlm/people_chars_lm.klm, spend: 0.008133888244628906 s
Traceback (most recent call last):
File "/Users/wangyingshuai/pycorrector-master/examples/use_custom_confusion.py", line 35, in
pycorrector.set_custom_confusion_dict(path='./my_confusion.txt')
File "/Users/wangyingshuai/pycorrector-master/pycorrector/detector.py", line 85, in set_custom_confusion_dict
self.check_detector_initialized()
File "/Users/wangyingshuai/pycorrector-master/pycorrector/detector.py", line 46, in check_detector_initialized
self.initialize_detector()
File "/Users/wangyingshuai/pycorrector-master/pycorrector/detector.py", line 36, in initialize_detector
self.word_freq = self.load_word_freq_dict(self.word_freq_path)
File "/Users/wangyingshuai/pycorrector-master/pycorrector/detector.py", line 57, in load_word_freq_dict
word = info[0]
IndexError: list index out of range

same_pinyin.txt 文件质量不佳

从数量上看,5000多个常用字不够,另外,试着查找"官"字,和它一致拼音的"关"字没有出现。
比如,"关网" --> "官网" 就不会被纠正。

confusion set建议 & n-gram模型疑问

您好!有幸拜读您的代码,发现同音字set中的语料都是繁体字,也许转成简体更好。另外我使用了sighan给出的同形字库进行扩充,效果有所提升。

想请教您一点:在使用kenlm训练是给入的是分好词的语料,是不是意味着kenlm认为一个词是一个gram,2-gram是两个词(based on words),而不是两个字(based on character)呢?如果是的话,会不会与detector中以字为单位(based on words)有所矛盾呢?

感谢您🙏

安装失败

执行python setup.py install 
报错
copying pycorrector/init.py -> build/lib/pycorrector
copying pycorrector/eval.py -> build/lib/pycorrector
copying pycorrector/config.py -> build/lib/pycorrector
copying pycorrector/en_spell.py -> build/lib/pycorrector
creating build/lib/pycorrector/data
error: can't copy 'pycorrector/data/test': doesn't exist or not a regular file

源码安装和pip都是报这个错,请问什么原因?谢谢

求问seq2seq_attention训练显示acc问题

求问,想在seq2seq_att训练过程中显示acc,于是在seq2seq_attn_model.py中修改了
model.compile(optimizer=Adam(1e-3), metrics=['accuracy'])
但是训练工程中仍未显示acc,val_acc。

2019-01-11 09:42:54.750493: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA Epoch 1/40 137/137 [==============================] - 135s 987ms/step - loss: 0.1134 - val_loss: 0.3633 Epoch 2/40 137/137 [==============================] - 132s 966ms/step - loss: 0.1064 - val_loss: 0.5050 Epoch 3/40 137/137 [==============================] - 132s 963ms/step - loss: 0.1033 - val_loss: 0.5974 Epoch 4/40 137/137 [==============================] - 131s 959ms/step - loss: 0.1013 - val_loss: 0.4981

求助怎么办……非常感谢!

关于detector.py文件中的问题

您好,两个问题请教一下:
1) 关于detecor.py这个文件有个问题,在第282行开始,我理解的逻辑是结合2-gram和3-gram两个模型的评分,那么不应该是分别导入两个模型吗?但是在kenlm/文件夹下只有一个模型,即您这边只导入了一种模型做了两种情况的操作?
2) kenlm文件夹下的模型是基于charater切分后的文件训练的吗?n-gram中的n取的是几呢?

1. load word model报错 2. 关于char模型的误报

  1. 我修改了config.py,下载了您训练的word模型,准备load模型:
    language_model_path = 'data/kenlm/people2014corpus_words.klm'
    但爆出了错误,people2014corpus_words.klm
    OSError: Cannot read model 'data/kenlm/people2014corpus_words.klm' (lm/read_arpa.cc:65 in void lm::ReadARPACounts(util::FilePiece&, std::vector&) threw FormatLoadException. first non-empty line was "" not \data. Byte: 7)

请问一下,您有试过word模型吗?是不是模型本身的格式问题,char模型,我load是没有问题的。

  1. 使用char模型进行文本纠错,会出现很多把正确的句子改错的情况,举个例子:
    借款额度可以提现吗 借款额度可以提现马: 把“吗”错误地改成了“马”
    您怎么看待这个问题,是否要调节一下阈值threshold?

多谢了!

小白,请教下word和char训练结果的问题

您好,我跑了您的代码,发现基于人民日报语料的模型,char训练的效果比word的好,甚至对于例子“少先队员应该为老人让座”,word给出的结果是 “先对员因该为老人让坐 [[('队', '对', 2, 3)]] ” ,按照我的理解,语料中如果出现了词组,准确率不是应该更高吗?为什么反而低了呢?

加载多个klm模型

您好,目前安装了pycorrector模块之后发现只能加载people_chars_lm.klm这个模型,想问一下我自己下载了维基百科的文本数据训练了一个模型,想放到安装目录的data/kenlm文件夹下面也让它同时加载这两个模型,应该如何更改呢,谢谢啦

No module named zhtools.langconv

  • 环境macos

  • 安装方法:pip install pycorrector

  • 安装成功后,import pycorrector的时候报错No module named zhtools.langconv

获取OOV词对应的id方式错误

vocab = (UNK_TOKEN,) + vocab[:len(vocab)]
word_to_int = dict(zip(vocab, range(len(vocab))))
if word_dict_path:
save_dict(word_to_int, word_dict_path)
data_vector = [list(map(lambda word: word_to_int.get(word, len(vocab)), i)) for i in data]

UNK标记在字典word_to_int的键值是0,那么下面取OOV词对应id时,不应该返回词典长度大小,而是应该返回0。

data_vector = [list(map(lambda word: word_to_int.get(word, len(vocab)), i)) for i in data]
# --->
data_vector = [list(map(lambda word: word_to_int.get(word,0), i)) for i in data]

How can i use the other listed model to correct sentence?

There are six models in your package, what is the default one in your sample code, and how can i choose others model to use? In my opinion, the sample code is not enough in readme.

Your sample code is

import pycorrector

corrected_sent, detail = pycorrector.correct('少先队员因该为老人让坐')
print(corrected_sent, detail)

老哥你这个错误检测detector部分y_score的计算方式是不是有点复杂啊,ratio * margin_median/np.median(margin_median)不就相当于ratio乘以n吗

def _get_maybe_error_index(scores, ratio=0.6745, threshold=1.4):
    """
    取疑似错字的位置,通过平均绝对离差(MAD)
    :param scores: np.array
    :param threshold: 阈值越小,得到疑似错别字越多
    :return:
    """
    scores = np.array(scores)
    if len(scores.shape) == 1:
        scores = scores[:, None]
    median = np.median(scores, axis=0)  # get median of all scores
    margin_median = np.sqrt(np.sum((scores - median) ** 2, axis=-1))  # deviation from the median
    # 平均绝对离差值
    med_abs_deviation = np.median(margin_median)
    if med_abs_deviation == 0:
        return []
    y_score = ratio * margin_median / med_abs_deviation
    # 打平
    scores = scores.flatten()
    maybe_error_indices = np.where((y_score > threshold) & (scores < median))
    # 取全部疑似错误字的index
    return list(maybe_error_indices[0])

请教您 rnn_crf rnn_lm seq2seq这三个文件夹

在程序运行时,这三个文件夹下的文件是不是独立的 并没有调用
因为 我在pip install pycorrector后查看源文件 并没有发现在这三个 文件
还是说我 安装的有问题?

蟹蟹。

对于非常用词的误判

您好,
对于文档里如人名、公司名、地名等一些非常用词,模型一般都会误认为这些词是有问题的。对此请问您有什么建议?谢谢!

误杀case列举

楼主,您好!用您最新的模型跑了一些测试数据,部分badcase列举如下:
(1)这个跟 原木纯品 那个啥区别?不是原木纸浆做的? | 这个跟 原木唇品 那个啥区别?不是原木纸浆做的?' | [" [['纯品'", " '唇品'", ' 6', ' 8]]']
(2)能充几次呢? | '能重几次呢?' | [" [['能充'", " '能重'", ' 0', ' 2]]']
(3)这是酸奶还是像饮料一样的奶? | '这时酸奶还是像饮料一样的奶?' | [" [['这是'", " '这时'", ' 0', ' 2]]']
(4)现在银色的K2P是MTK还是博通啊? | '现在银色的K2P是MTK还是拨通啊?' | [" [['博通'", " '拨通'", ' 14', ' 16]]']
(5)是浓稠的还是稀薄的? | '是浓周的还是稀薄的?' | [" [['浓稠'", " '浓周'", ' 1', ' 3]]']
(6)这个到底有多辣? | '这个到底有多拉?' | [" [['有多辣'", " '有多拉'", ' 4', ' 7]]']
(7)U盘有送挂绳吗 | 'U盘又送挂绳吗' | [" [['盘有'", " '盘又'", ' 1', ' 3]]']
(8)果子酸吗?有烂的吗? | '果子酸吗?有蓝的吗?' | [" [['有烂'", " '有蓝'", ' 5', ' 7]]']
(9)刚下单买了一箱,需要明天到货,先问下味道如何😄 | '刚下单买了一箱,需要明天到货,现问下味道如何😄' | [" [['先问'", " '现问'", ' 15', ' 17]]']
(10)2周岁22斤宝宝用多大的啊? | '2周岁22斤宝宝用多达的啊?' | [" [['用多大'", " '用多达'", ' 8', ' 11]]']
(11)请问这茶是一条装的吗 | '请问这差是一条装的吗' | [" [['这茶'", " '这差'", ' 2', ' 4]]']
(12)有坏的果吗 | '有怀的果吗' | [" [['有坏'", " '有怀'", ' 0', ' 2]]']
(13)生产日期怎么样 新嘛 | '生产日期怎么样 心嘛' | [" [['新嘛'", " '心嘛'", ' 8', ' 10]]']
(14)插上去的时候是驱蚊液放下面的吗? | '插上去的时候是驱蚊以放下面的吗?' | [" [['液放'", " '以放'", ' 9', ' 11]]']
(15)橄榄的和这款哪个比较好用?味道都是一样的么? | '橄榄的和这款哪个比较好永?味道都是一样的么?' | [" [['好用'", " '好永'", ' 10', ' 12]]']

语言模型出错

您好,

我发现您提供的云盘里的语言模型people2014corpus_chars.klm和程序默认的语言模型people_chars_lm.klm是不一样的。然后我把云盘里的模型替换掉默认模型之后,程序就运行失败了,显示Illegal instruction (core dumped).
我想问下我该如何使用云盘里提供的语言模型,谢谢。

想问rnn_crf infer 问题

为什么不像Seq2Seq 那个一样给他们输入文本,再做preprocess?
而是每次测些也要连Training Set做一次preprocess先。

谢谢您!你的代码及文章启发了很多!

代码框架

请问楼主,pycorrector文件夹里面有很多模型,但是相互之间的关系我没有很明白,主函数是哪个啊,以及能否讲一下整个代码的框架啊

运行模型badcase记录

楼主,您好!我在运行examples下面的use_custom_confusion.py文件时,遇到下面两个badcase,第一个badcase是:我把iPhone 差=>iPhoneX这一对词语加到了my_confusion.txt中,但是运行结果把iPhone差纠正为iPhone查,并没有输出我期待的iPhoneX,运行结果如下【original sentence:iPhone差。 => correct sentence:('iPhone查。', [['差', '查', 6, 7]])】;
第二个badcase是我把 小明同学=>小茗同学这一对词语也加入到了my_confusion.txt中,然后我输入一句话“我想喝小明同学”,尽管模型正确地把“小明同学”改成了“小茗同学”,但是整句话的分词显然不正确,运行结果如下【original sentence:我想喝小明同学。 => correct sentence:('我像喝小茗同学。', [['我想', '我像', 0, 2], ['喝小明', '喝晓明', 2, 5], ['小明同学', '小茗同学', 3, 7]])

希望您能对以上两个问题给出解决方法,非常感谢!

关于seq2seq_attention的问题

您好,我使用您的代码和语料进行训练,但是我训练完进行测试的结果特别差,并不能和你截图的效果一样,想问一下除了按照您的使用说明上的要求,还有什么步骤吗
2018-11-19 09-12-23

自动安装失败

error: can't copy 'pycorrector/data/kenlm': doesn't exist or not a regular file

Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-install-D4lnto/pycorrector/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-kGC_ZP/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-D4lnto/pycorrector/
这是怎么回事,求解答,谢谢!

github上的bert目录是不是少传了文件?

作者你好,github上的bert目录是不是少传了文件?没看到这个包的init文件。另外,bert这个分支模型处于什么阶段了?效果如何?是不是可以直接拿来用在生产环境了?

改进建议

对于提高纠错效果,在下有些拙见。近音错误往往是由于我们使用输入法的时候不小心选错了序号造成的,而实际正确的词就在旁边。但是这种错误可能比较难通过博主的拼音纠错模块进行纠错,因为拼写的时候我们往往喜欢简拼,而相同简拼的词太多了,而且输入法还附带有词语联想功能,以至于有可能那些在拼音上完全不相关的词语也弄了进去,纠错根本找不出来。所以能不能有某种方式,当我们在拼写的时候,我们能获取到输入框里的候选词,用所有的候选词去跑一遍,感觉这样效率更高,而且效果应该更好。而且这个能在打字的时候实时纠错,实用性更强,用户体验更好

讨论corrector.py细节

楼主,您好!详细读了您基于统计规则的纠错代码,关于corrector.py有以下问题,请您有空的时候,逐一回答一下,特别感谢!
(1)text_utils中的tokenize函数前一个版本是仅仅加入jieba.add_word(word),在最近的版本中您加入了jieba.add_word(k),有什么作用,可以具体解释一下吗?
(2)之前英文iPhoneX的问题,因为用户输入什么样的都有,可不可以在我们的代码中做一下这个英文的容错,做的话,代码怎么写?
(3)我试验了模型,有一个很大的问题是召回词语太多,一些本来不应该召回的字词,您的模型召回了,貌似把这些不想召回的词语加入word_freq可以解决一部分这个问题,请问原理是什么?有没有其它比较现实又有效果的方法?
(4)在corrector.py的文件中既有initialized_corrector这个属性,又有initialize_corrector()函数,请问两者的作用本质区别?
(5)corrector.py文件中的get_same_pinyin(),get_same_stroke()等函数的第一句话都是self.check_corrector_initialized(),为什么这么写?
(6)corrector.py文件中known()函数的作用是什么?
(7)corrector.py文件中_confusion_char_set()和_confusion_custon_set()不理解这两个函数的功能?
(8)corrector.py文件中_generate_items()函数对三种长度1,2,>2分别怎么处理,最后return的含义?
(9)_correct_item()函数的主要逻辑?
(10)correct()函数主要逻辑,为什么要分成_correct_item()和correct()两个函数处理?

detector.py中的问题

楼主,您好,仔细研读了您detector.py中的代码,有一些可能比较简单的问题,请您有空的时候,回复一下,非常感谢。
(1)detector.py中的load_word_freq()函数为什么最后return只要频数,不要词性?
(2)detector.py中的_get_custom_confusion_dict()函数为什么return的confusion以变体作为字典的key,而不是本体?另外本体最后被加入到word_freq中,那意思是本体也过滤不检查了?
(3)detector.py中为什么set_language_model_path(),set_custom_confusion_dict(),ngram_score()等多个函数的第一句话是self.check_detector_initialized(),作用是什么?
(4)detector.py中的set_language_model_path()中的kenlm.Model(path)是在训练模型吗?
(5)detector.py中set_custom_confusion_dict()为什么有uodate()字典的逻辑?
(6)ngram_score()是用语言模型直接调用出来的分数?
(7)set_word_frequcy()为什么要更新在样本中的词频?
(8)_check_contain_error()和_add_maybe_error_item()逻辑不理解?
(9)_get_maybe_error_index()函数具体逻辑?
(10)detect()函数中是怎么体现用户混淆词优先级最高的?

文本纠错

您好,
请问这个模型暂时只能解决错字的情况么?对于多字和少字的情况可以解决么?
例如“**人民民银行”,纠正成“**人民银行”。

代码版本?

请教下 用pip安装下 在___init__文件下
def get_confusion_char_set(c):
confusion_char_set = get_same_pinyin(c) # .union(get_same_stroke(c))
if not confusion_char_set:
confusion_char_set = set()
return confusion_char_set
与您现在的 公布的代码
def get_confusion_char_set(c):
confusion_char_set = get_same_pinyin(c).union(get_same_stroke(c))
if not confusion_char_set:
confusion_char_set = set()
return confusion_char_set

这里有些不一样 是不是版本的问题呢 ?

关于使用rnn作为语言模型训练和预测的一些问题请教

您好,参考了下您的代码,最近在用biLSTM+attention的方式做中文检错,希望对于一个输入句子得到可能错误的位置。问下细节问题。

在训练的时候训练数据构造如下:
输入: "[start] 今 天 天 气 很 好"

label:"今 天 天 气 很 好 [end]"

  1. 预测的时候,假设输入句子为“今天添气横好”

把"[start] 今 天 添 气 横 好"输入模型, infer后可以得到各个字对应的概率,然后根据概率卡阈值得到可能错误的位置。

请问数据构造和预测的逻辑有问题吗?

我用上述的预测逻辑得到输入句子每个位置的概率基本上接近1.我想了下,因为训练的时候模型拟合的方向是将输入句子往其左移1位偏的,这样的话模型在forward的时候只要无脑使得预测输出为输入左移1位就行,所以对于输入句子不管有没错误,每个位置的预测概率基本接近1. 感觉是预测的逻辑有问题,应该如何预测呢?

seq2seq_attention出处问题

Hello, Thanks for your repo, it is very helpful for new beginner in CRC like me !
I am reading the code of "seq2seq_attention" part these days, I wonder if you can provide the paper or blog about the reference of your seq2seq_attention code? cause I find some difference in those blogs or paper I read. Thank you~

安装失败

执行:python3 setup.py install
running install
Checking .pth file support in /usr/local/lib/python3.5/dist-packages/
/usr/bin/python3 -E -c pass
TEST PASSED: /usr/local/lib/python3.5/dist-packages/ appears to support .pth files
running bdist_egg
running egg_info
writing pycorrector.egg-info/PKG-INFO
writing top-level names to pycorrector.egg-info/top_level.txt
writing dependency_links to pycorrector.egg-info/dependency_links.txt
writing requirements to pycorrector.egg-info/requires.txt
reading manifest file 'pycorrector.egg-info/SOURCES.txt'
writing manifest file 'pycorrector.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
报错: error: can't copy 'pycorrector/utils/pycache': doesn't exist or not a regular file

setup.py 中
package_data={'pycorrector': ['.py','pycache/','utils/','utils/pycache/','zhtools/', 'LICENSE', 'README.','data/.txt', 'data/.pkl','data/kenlm/', 'data/test/*'],},

请问是什么原因?

detector_test.py 中import出错

from pycorrector.corrector import *
from pycorrector.utils.text_utils import *

报错:
ImportError: No module named 'pycorrector.corrector'

请问如何修改?
谢谢!

下载了您的word粒度模型,NLP小白想请教您几个问题。

(1)“【s】” 和 “【/s】”符号代表着什么意思?这里三角号打不出来....
(2)每行数据的第一个数字代表的是该词数量的log10统计概率吗?
(3)需要 对文本进行怎样的预处理?我参考您的博客只进行分词了,需不需要每句都要添加句子起止符?

用的哪个版本python啊?

安装报错,用得哪个版本python
from urllib.request import (urlopen, urlretrieve, Request, url2pathname,
ImportError: cannot import name 'HTTPSHandler' from 'urllib.request' (/usr/local/python3.7/lib/python3.7/urllib/request.py)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.