Skip to content

Commit

Permalink
添加issue模板、pr模板、贡献说明,规范项目运行
Browse files Browse the repository at this point in the history
  • Loading branch information
hankcs committed Apr 27, 2017
1 parent 7439704 commit 5fb87fa
Show file tree
Hide file tree
Showing 3 changed files with 128 additions and 0 deletions.
43 changes: 43 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# 改进HanLP

:+1::tada: 首先,感谢花时间改进HanLP :tada::+1:

![HanLP](http://ww1.sinaimg.cn/small/6cbb8645jw1eqkariq2ijj20se0sik3a.jpg)

## 项目初衷
自然语言处理本来是一个小众的圈子,综合了多个交叉学科的领域知识。不但需要较深的数学基础,还需要实现复杂算法的工程能力,并且语言学知识也不可或缺。
HanLP作为一个开源自由的项目,初衷是降低上述理论门槛,普及统计自然语言处理到生产环境中去。即使只是一个抛砖引玉的项目,也有其坚持的东西。
为什么走统计自然语言处理的方向?因为我不喜欢那些自作聪明的“人工规则”“评分公式”,以及靠此存活的系统或“专家”。这些“人肉智能”及其机械工作应当逐步被机器替代掉。
很高兴最初的想法得到了越来越多的赞同,有越来越多的公司和个人开始关注语料库建设,开始转型到统计模型。
HanLP核心代码几乎全部配有注释和附属说明文档。衷心希望第一次接触自然语言处理的工程师,也能看懂代码的关键,并最终参与开源,一起完善这个不完美的小项目。
HanLP所有代码和文章都注明了大量的论文引用,一些第三方代码也保留了全部署名。希望大家尊重提出了该算法的学者老师、实现了该算法的开源作者。HanLP能在这些研究成果上改进算法,大家能在HanLP上做商业应用,归根结底全是他们的功劳。也希望借此激发大家对底层算法的兴趣,了解原理才能评估一项技术的优缺点。

## 开源项目定义
世界上有很多开源项目,但按照目的而言只有两种:

**1. 有商业目的的开源项目**

* 背后主要由商业公司支撑,雇佣全职员工参与开发,目的(就算不是主要目的,至少也有部分意愿)是推广行业标准(TensorFlow)、测试公司产品(Fedora)、汲取社区智慧改进产品(OpenJDK)、低价倾销后续收费(一些国产“开源”软件如Discuz)……
* 这类开源产品大部分影响深远,具有改变行业的力量。既达成了企业的商业目的,又造福了所有用户。

**2. 以兴趣主导的开源项目**

* 无商业公司支撑,没有任何商业目的。多源于某个黑客的一时兴起,“在座的工具都不好用,为什么不自己造一个呢”。或者源于史蒂夫·沃兹尼克“做出好东西就应该让更多的人使用”那种朴素的利他主义。再者就是实验学习性质的作品,在维护作品的同时得到成长。
* 这类开源项目虽然缺少资金人力,但不乏闪光之作,伟大如Linux自不必说,小领域的如[鸣谢](https://github.com/hankcs/HanLP#鸣谢)中列举的那些接地气的项目同样精彩。

毫无疑问,HanLP是属于后者的,完全基于兴趣,无商业支持,专注一个小众领域,希望做到极致。即使现在做的还不好,也在往好的方向前进。

## 其他贡献方式
* 回答[issue区](https://github.com/hankcs/HanLP/issues)的问题,参与讨论,提出批评与建议
* 参与[《开发计划》](https://github.com/hankcs/HanLP/projects)中的短期project
* 为HanLP添加注释
* 为HanLP编写测试用例
* 为HanLP编写[拓展插件](https://github.com/hankcs/HanLP/wiki/%E8%A1%8D%E7%94%9F%E9%A1%B9%E7%9B%AE)
* 开发高级功能,给大家露一手
* 写文章分享你使用HanLP的经验,做了什么样的应用
* 向其他朋友推荐统计自然语言处理与HanLP
* 校对词库,调整模型
* 捐献语料(分词标注语料、领域词库等)

再次对你的贡献表示感谢,开源事业因你的参与而更加美好!

64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<!--
这是HanLP的issue模板,用于规范提问题的格式。本来并不打算用死板的格式限制大家,但issue区实在有点混乱。有时候说了半天才搞清楚原来对方用的是旧版、自己改了代码之类,浪费双方宝贵时间。所以这里用一个规范的模板统一一下,造成不便望海涵。除了注意事项外,其他部分可以自行根据实际情况做适量修改。
-->

## 注意事项
请确认下列注意事项:

* 我已仔细阅读下列文档,都没有找到答案:
- [首页文档](https://github.com/hankcs/HanLP)
- [wiki](https://github.com/hankcs/HanLP/wiki)
- [常见问题](https://github.com/hankcs/HanLP/wiki/FAQ)
* 我已经通过[Google](https://www.google.com/#newwindow=1&q=HanLP)[issue区检索功能](https://github.com/hankcs/HanLP/issues)搜索了我的问题,也没有找到答案。
* 我明白开源社区是出于兴趣爱好聚集起来的自由社区,不承担任何责任或义务。我会礼貌发言,向每一个帮助我的人表示感谢。
* [ ] 我在此括号内输入x打钩,代表上述事项确认完毕。

## 版本号
<!-- 发行版请注明jar文件名去掉后缀的部分;仓库版请注明master还是protable分支 -->

当前最新版本号是:
我使用的版本是:


## 我的问题

<!-- 请详细描述问题,越详细越可能得到解决 -->

## 复现问题
<!-- 你是如何操作导致产生问题的?-->

### 步骤

1. 首先……
2. 然后……
3. 接着……

### 触发代码

```
public void testIssue1234() throws Exception
{
CustomDictionary.add("用户词语");
System.out.println(StandardTokenizer.segment("触发问题的句子"));
}
```
### 期望输出

<!-- 你希望输出什么样的正确结果?-->

```
期望输出
```

### 实际输出

<!-- HanLP实际输出了什么?产生了什么效果?错在哪里?-->

```
实际输出
```

## 其他信息

<!-- 任何可能有用的信息,包括截图、日志、配置文件、相关issue等等。-->

21 changes: 21 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!--
感谢你对开源事业的贡献!这是一份模板,方便记录你做出的功绩,谢谢!
-->

## 注意事项

* 这次修改没有引入第三方类库。
* 也没有修改JDK版本号
* 所有文本都是UTF-8编码
* 代码风格一致
* [ ] 我在此括号内输入x打钩,代表上述事项确认完毕。

## 解决了什么问题?带来了什么好处?

<!-- 你的补丁解决了什么问题,给大家带来了什么好处? -->

## 相关issue

<!-- 如果跟已有issue相关的话,麻烦列一下 -->


0 comments on commit 5fb87fa

Please sign in to comment.